在angular2中,默认情况下会在控制台中记录异常.我听说我们可以继承Angular ExceptionHandler并创建我们自己的异常处理程序,以便我们可以覆盖默认行为.我试着这样做,但没有奏效.任何人都可以通过一个例子来帮助我.提前致谢 ....
Der*_*T12 13
从版本2.0.1开始,创建自定义错误处理程序的当前方法是ErrorHandler找到的接口@angular/core.
来自文档:
https://angular.io/docs/ts/latest/api/core/index/ErrorHandler-class.html
import { NgModule, ErrorHandler } from '@angular/core';
class MyErrorHandler implements ErrorHandler {
handleError(error) {
// do something with the exception
}
}
@NgModule({
providers: [{ provide: ErrorHandler, useClass: MyErrorHandler }]
})
class MyModule {}
Run Code Online (Sandbox Code Playgroud)
在根模块上应用它时,所有子模块将接收相同的错误处理程序(除非它们在其提供程序列表中指定了另一个).
看起来你需要创建自己的类来处理异常,然后在引导时将它绑定在你的应用程序中,如下所示:
import {provide, ExceptionHandler} from '@angular/core';
class MyExceptionHandler implements ExceptionHandler {
call(error, stackTrace = null, reason = null) {
// do something with the exception
}
}
Run Code Online (Sandbox Code Playgroud)
然后在bootstrap时,将这个新实现绑定为ExceptionHandler:
bootstrap(MyApp,
[provide(ExceptionHandler, {useClass: MyExceptionHandler})])
Run Code Online (Sandbox Code Playgroud)
请参阅此处以供参考.
| 归档时间: |
|
| 查看次数: |
7587 次 |
| 最近记录: |