angularjs - AngularJS中的全局错误处理

标签 angularjs rest typescript error-handling

我使用AngularJS和typescript,我还调用Rest服务以从后端检索数据。我的问题是对所有 Controller 全局处理调用错误的最佳方法是什么。

最佳答案

全局处理错误的最好方法是覆盖

'$exceptionHandler'



这是文件链接
https://docs.angularjs.org/api/ng/service/ $ exceptionHandler”
(function () {
    'use strict';

    var app = angular.module('app');

    // Configure by setting an optional string value for appErrorPrefix.
    // Accessible via config.appErrorPrefix (via config value).

    app.config(['$provide', function ($provide: ng.auto.IProvideService) {
        $provide.decorator('$exceptionHandler',
            ['$delegate', 'config', 'logger', extendExceptionHandler]);
    }]);

    // Extend the $exceptionHandler service to also display a toast.
    function extendExceptionHandler($delegate: ng.IExceptionHandlerService, config: config, logger: logger) {
        var appErrorPrefix = config.appErrorPrefix;
        var logError = logger.getLogFn('app', 'error');
        return function (exception: Error, cause: string) {
            $delegate(exception, cause);
            if (appErrorPrefix && exception.message.indexOf(appErrorPrefix) === 0) { return; }

            var errorData = { exception: exception, cause: cause };
            var msg = appErrorPrefix + exception.message;
            logError(msg, errorData, true);
        };
    }
})();

https://github.com/johnnyreilly/HotTowel-Angular-TypeScript/blob/master/app/config.exceptionHandler.ts

关于angularjs - AngularJS中的全局错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43920532/

相关文章:

angularjs - 在 Jasmine Karma 测试中读取文件

javascript - 打印页面

javascript - AngularJs $resource 动态 URL

javascript - 可观察属性更改时的 Angular2 触发函数

angular - 如何获取最新版本的专用打字包

javascript - Angularjs 轮询 API 检查 JSON 中的空数组

javascript - Angular 1 中的 Angular 2 组件?

angularjs - Ionic/Apache Cordova - HTTP 请求最佳实践

node.js - NodeJS 中的 HTTPS 请求

javascript - Typescript 和 Jquery 语法问题