如何让我的应用程序适应异常。
目前,每次出现异常时,用户界面都会冻结,我必须重新启动应用。
感谢。
答案 0 :(得分:2)
更新:最新的angular2,角度核心中ErrorHandler
不是ExceptionHandler
,现在@angular/core
不是@angular2/core
。
import { ErrorHandler } from '@angular/core';
export class MyExceptionHandler implements ErrorHandler {
handleError(error) {
// do something with the error
}
}
链接到新的角度等级:https://angular.io/docs/ts/latest/api/core/index/ErrorHandler-class.html
答案 1 :(得分:1)
您可以使用Angular 2 ExceptionHandler。
ExceptionHandler的默认实现会输出错误消息 到控制台。要拦截错误处理,请编写自定义异常 处理程序,根据您的应用程序替换此默认值。
所以你可以创建自己的这个类的实现
class MyExceptionHandler implements ExceptionHandler {
call(error, stackTrace = null, reason = null) {
// do something with the exception
}
}
然后,将它包含在您最顶层的组件(App组件)中,如下所示:
import {ExceptionHandler,provide} from '@angular2/core';
import {MyExceptionHandler} from './folder/file-name';
@Component({
providers: [provide(ExceptionHandler, {useClass: MyExceptionHandler})]
})
export class MyApp{...}
<强>更新强>
从Ionic2 RC开始,为了替换ExceptionHandler
自己的自定义实现,我们需要将它包含在NgModule
中,如下所示:
@NgModule({
providers: [{provide: ErrorHandler, useClass: MyExceptionHandler}]
})
class MyModule {}