Перехват всех необработанных исключений javascript

Я пытаюсь найти или выяснить способ отображения в окне предупреждения всех необработанных исключений JavaScript в приложении. Я бы хотел, чтобы все это делалось на стороне клиента, без использования кода на стороне сервера. Я использую MVC3 в качестве среды.

Я занимался исследованиями в течение последних нескольких дней и не нашел именно то, что искал.

Ниже я нашел 2 способа, которые выглядят так, как будто они почти то, что я ищу, за исключением того, что эти способы настроены так, что вам нужно передать имя функции в пользовательский метод для печати трассировки стека всех необработанных исключений в этом. конкретная функция. Я ищу способ не передавать вручную имя функции в пользовательский метод, который печатает трассировку стека всех необработанных исключений. Я бы хотел, чтобы этот пользовательский метод просто "слушал" для всех необработанных исключений в рамках всего приложения.

http://eriwen.com/javascript/js-stack-trace/

Также что-то похожее на предыдущую ссылку:

https://github.com/eriwen/javascript-stacktrace

Вот основной код из 2-й ссылки выше, которая печатает трассировку стека указанной функции JavaScript:

instrumentFunction: function (context, functionName, callback) {
    context = context || window;
    var original = context[functionName];
    context[functionName] = function instrumented() {
        callback.call(this, printStackTrace().slice(4));
        return context[functionName]._instrumented.apply(this, arguments);
    };
    context[functionName]._instrumented = original;
}

function printStackTrace(options) {
    options = options || {
        guess: true
    };
    var ex = options.e || null,
        guess = !! options.guess;
    var p = new printStackTrace.implementation(),
        result = p.run(ex);
    return (guess) ? p.guessAnonymousFunctions(result) : result;
}

Итак, чтобы подвести итог, знаете ли вы, что есть какой-то способ «слушателя»? прослушать все необработанные исключения javascript, а затем распечатать их на экране в окне предупреждения?

Спасибо! Джейсон

Ответы на вопрос(4)

Ваш ответ на вопрос