我们有一个Angular2应用程序,我们在其中使用了一些第三方控件,即IgniteUI / Infragistics IgGrid和PivotGrid控件 . 应用程序的全局异常处理如下所示 .

export class CustomErrorHandler implements ErrorHandler {
    constructor(private _SessionService: SessionService)
    {
    }

    handleError(error) {
       console.log("Error occurred. " + error);
        console.log("Stack Trace : " + error.stack);
    }
}

应用程序中抛出的所有异常/错误都会在上面提到的错误处理程序中捕获 . 但是对于某些特定情况,当数据中存在某些问题并且它与PivotGrid绑定时,它会崩溃整个应用程序 . 异常被捕获在handleError()事件内的全局错误处理程序中,但在该事件之后整个应用程序被炸毁,并且用户无法使用它 . 在数据绑定时,PivotGrid内部抛出异常 .

任何想法如何处理这种情况?

在pivotgrid中抛出并导致应用程序爆炸的异常如下: -

TypeError: Cannot read property 'levelUniqueName' of null
    at map (http://localhost:49928/js/IgniteUI/infragistics.lob.js:661:10848)
    at e.(anonymous function).(anonymous function)._createTableView (http://localhost:49928/js/IgniteUI/infragistics.lob.js:661:11006)
    at e.(anonymous function).(anonymous function)._createTableView (http://code.jquery.com/ui/1.11.1/jquery-ui.min.js:6:7983)
    at e.(anonymous function).(anonymous function)._onGridUpdated (http://localhost:49928/js/IgniteUI/infragistics.lob.js:661:26726)
    at e.(anonymous function).(anonymous function)._onGridUpdated (http://code.jquery.com/ui/1.11.1/jquery-ui.min.js:6:7983)
    at Class.<anonymous> (http://localhost:49928/js/IgniteUI/infragistics.lob.js:661:9410)
    at Class.dispatch (http://code.jquery.com/jquery-1.11.3.min.js:4:8549)
    at Class.r.handle (http://code.jquery.com/jquery-1.11.3.min.js:4:5252)
    at Object.trigger (http://code.jquery.com/jquery-1.11.3.min.js:4:7650)
    at Class.<anonymous> (http://code.jquery.com/jquery-1.11.3.min.js:4:15517)