gpt4 book ai didi

angularjs - AngularJS中的全局错误处理

转载 作者:行者123 更新时间:2023-12-03 08:49:45 25 4
gpt4 key购买 nike

我使用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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com