如何在Angular 2中创建集中式异常处理以从未处理的异常中恢复

Lan*_*ceM 7 error-handling angular

我正在尝试在Angular 2中创建集中式异常处理(对于所有代码而不仅仅是observable),这样如果存在未处理的错误,它将不会使应用程序崩溃但会记录它.目前,如果存在未处理的异常,我的应用程序将无法响应,我必须重新加载它.我创建了一个错误处理程序,如下所示:

import { NgModule, ErrorHandler } from '@angular/core';

export class AppErrorHandler implements ErrorHandler
{
    rethrowError = false;

    handleError(error: any)
   {

   }
}
Run Code Online (Sandbox Code Playgroud)

未处理的错误会转到handleError,但似乎是因为我的应用程序停止工作而被重新抛出.请帮忙.

Lan*_*ceM 5

我的问题与这篇文章类似。

\n\n

我认为答案是,除了重新加载页面/应用程序之外,没有其他方法可以从未处理的异常中恢复。正如 G\xc3\xbcnter Z\xc3\xb6chbauer 所说:

\n\n
\n

一般来说,当有办法恢复时,异常处理应尽可能接近原因。

\n
\n