我们有一个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)