Все приложение Angular2 перестает работать после того, как исключение выдается в привязке данных PivotGrid
У нас есть приложение 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 при привязке данных.
Есть идеи, как мне справиться с этим сценарием?
Исключение, которое выбрасывается внутри сводной сетки и вызывает взрыв приложения, выглядит следующим образом:
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)