Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Узнать строку и символ, где возникла ошибка (вопрос по eval и new Function) (https://javascript.ru/forum/misc/31820-uznat-stroku-i-simvol-gde-voznikla-oshibka-vopros-po-eval-i-new-function.html)

FINoM 21.09.2012 20:02

Узнать строку и символ, где возникла ошибка (вопрос по eval и new Function)
 
try {
 eval( 'var x = 5;\
  var = 6' ); } catch( e ) {
  console.log( e )
}

В объекте ошибки можно увидеть только type, message и stack. Как узнать, где именно возникла ошибка?

FINoM 21.09.2012 20:41

Maxmaxmахimus, щитаймана постамана шайтана.

oneguy 21.09.2012 20:45

Если нужно выловить синтаксическую ошибку в коде eval, то можно записать код в eval в отдельный скрипт и выполнить.

FINoM 21.09.2012 21:00

Цитата:

Сообщение от Maxmaxmахimus
e.stack не?

Там не видно строки и столбца.
SyntaxError: Unexpected token =
    at eval (eval at <anonymous> (unknown source))
    at eval (native)
    at Object.InjectedScript._evaluateOn (unknown source)
    at Object.InjectedScript._evaluateAndWrap (unknown source)
    at Object.InjectedScript.evaluate (unknown source)

FINoM 21.09.2012 21:03

Цитата:

Сообщение от oneguy
Если нужно выловить синтаксическую ошибку в коде eval, то можно записать код в eval в отдельный скрипт и выполнить.

Каким образом? Если через объект URL, то он не кроссбраузерен.

oneguy 21.09.2012 21:11

Цитата:

Сообщение от FINoM
Каким образом? Если через объект URL, то он не кроссбраузерен.

Через copy и paste :) Можно вывести код eval каким-то способом, и потом вставить его на страницу.

melky 21.09.2012 22:47

Цитата:

Сообщение от FINoM
В объекте ошибки можно увидеть только type, message и stack. Как узнать, где именно возникла ошибка?

оно ?
<script>
window.onerror = function (description, url, line) {
    alert("Где возникла ошибка : " + url + "\n\nОшибка на линии : " + line + "\n\nСама ошибка : " + description);
    return true;
};
</script>

<script>ОШИБКА!</script>

FINoM 21.09.2012 22:58

melky, нет.

Лучше объясню, что мне нужно: я беру аяксом (именно аяксом) некоторый код, меняю его, запускаю. Нужно узнать, в какой строке и каком столбце (позиции "курсора") появилась ошибка.

oneguy 22.09.2012 00:02

Можно подробнее, пожалуйста? Где меняешь код и как?

FINoM 22.09.2012 00:08

Допиливаю эту функцию: http://javascript.ru/forum/project/2...ak-v-node.html
Если в модуле появляется ошибка, неизвестно где она.


Часовой пояс GMT +3, время: 12:42.