异常处理 – Angular2:捕获角度异常

前端之家收集整理的这篇文章主要介绍了异常处理 – Angular2:捕获角度异常前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果Angular2遇到内部异常,它将不会记录到控制台.如何检测以下异常?

EXCEPTION: Error during instantiation of MainFormComponent!.
ORIGINAL EXCEPTION: TypeError: Cannot set property 'crashMeMaybe' of undefined
ORIGINAL STACKTRACE:
... stacktrace ...
ERROR CONTEXT:
... context object ...

有没有可用的订阅?这样的文件在哪里?

解决方法

有一个界面ExceptionHandler,您可以通过它提供您选择的自定义实现.见 heredocumentation.

来自BETA.0来源:(facade / exception_handler.d.ts)

/**
 * Provides a hook for centralized exception handling.
 *
 * The default implementation of `ExceptionHandler` prints error messages to the `Console`. To
 * intercept error handling,* write a custom exception handler that replaces this default as appropriate for your app.
 *
 * ### Example
 *
 * ```javascript
 *
 * class MyExceptionHandler implements ExceptionHandler {
 *   call(error,stackTrace = null,reason = null) {
 *     // do something with the exception
 *   }
 * }
 *
 * bootstrap(MyApp,[provide(ExceptionHandler,{useClass:    MyExceptionHandler})])
 *
 * ```
 */

更新:

我对BETA.0有点问题

>进口必须被黑客入侵,
>界面似乎被内部细节污染了.

我运行它像:

import {ExceptionHandler} from 'angular2/src/facade/exception_handler';

export interface IExceptionHandler {
    call(exception: any,stackTrace?: any,reason?: string): void;
}

export class CustomExceptionHandler implements IExceptionHandler {
    call(exception: any,stackTrace: any,reason: string): void {
        alert(exception);
    }
}

bootstrap(DemoApp,[
    new Provider(ExceptionHandler,{
        useClass: CustomExceptionHandler
    })
]);

猜你在找的Angularjs相关文章