对于前端的异常,有时候我们不需要解决的时候 或者 解决不了时,我们可以抛出异常,这样前端就不会报错了
主要对app.modules.ts进行修改,其他地方不用修改:
Angular提供了一种惯用的安装错误处理程序的方法。您所要做的就是创建一个ErrorHandler
从@angular/core
包中实现接口的类。该类必须实现该handleError()
方法。
import { ErrorHandler } from '@angular/core';
export class AppGlobalErrorhandler implements ErrorHandler {
handleError(error) {
console.warn("customize catch execption:"+error);
}
}
然后app.modules.ts
你需要告诉Angular它应该使用我们的错误处理程序。您可以通过在providers
配置中添加以下条目来实现。
providers: [
// ...
{provide: ErrorHandler, useClass: AppGlobalErrorhandler}
],
这已经是您必须做的一切。从现在开始,应用程序中任何位置抛出的所有未捕获的异常都由AppGlobalErrorhandler
类处理。
参考:
https://golb.hplar.ch/2018/10/global-errorhandler-angular.html