如何在应用程序级别发生未被捕获的错误时执行函数

时间:2016-06-28 04:15:28

标签: javascript angularjs

我想在应用程序级别发生未捕获错误时执行函数。有可能这样做,或者我必须在我的所有控制器上写try catch。

2 个答案:

答案 0 :(得分:1)

Angular有一个名为$exceptionHandler的内置错误处理程序服务,可以轻松覆盖,如下所示:

myApp.factory('$exceptionHandler', function($log, ErrorService) {
    return function(exception, cause) {

        if (console) {
            $log.error(exception);
            $log.error(cause);
        }

        ErrorService.send(exception, cause);
    };
});

答案 1 :(得分:0)

查看 $ exceptionHandler 服务。这允许您覆盖未捕获的异常的默认行为。

https://docs.angularjs.org/api/ng/service/$exceptionHandler