печать трассировки стека консоли javascript

Я пытаюсь ввести код javascript в текстовую область и отобразить результат в div. Я задал аналогичный вопрос: showing-console -ошибки-и-оповещения-в-разделе-внутри-страницы

Он отлично работает для любых явных операторов консоли. Но когда в коде, написанном в текстовой области, есть какие-либо синтаксические ошибки, сообщение об ошибке отображается только в консоли и не фиксируется в коде.

Код, который я использую:

if (typeof console  != "undefined") 
    if (typeof console.log != 'undefined')
        console.olog = console.log;
    else
        console.olog = function() {};

    console.log = function(message) {
    console.olog(message);
    $('#result').append('<p>' + message + '</p>');
};
console.error = console.debug = console.info =  console.log

Это работает, если я набираю console.log("hello") в текстовой области. Но когда я намеренно набираю console.log("he, ошибка отображается только в консоли браузера. Есть ли способ захватывать такие сообщения и отображать их?


person codingsplash    schedule 02.04.2015    source источник


Ответы (2)


Точно так же, как это делает консоль браузера.

Добавьте try...catch в свой код.

person JNF    schedule 02.04.2015
comment
Я был глуп, чтобы забыть попробовать, поймать! Большое спасибо! - person codingsplash; 02.04.2015

Вы можете использовать window.onerror для решения проблемы, попробуйте

window.onerror = function(e) {
  console.log(e.stack);
}
person kyriosli    schedule 02.04.2015