Поймать исключения из сторонних директив, используемых в шаблоне - PullRequest
0 голосов
/ 08 ноября 2018

Я использую библиотеку angular-google-charts в моем приложении Angular.
Я использую ее в своем шаблоне:

<google-chart
  [title]="chart.title"
  [type]="chart.type"
  [data]="chart.data">
</google-chart>

Если пользователь не в сети, Google-Chart выдает исключение, так как требуется подключение к Интернету. Я решил эту проблему, поместив директиву в *ngIf и проверил, есть ли сетевое подключение или меньше.

Однако, в более общем контексте, как я могу отловить исключения из сторонних директив, которые используются только в шаблоне?

Является ли глобальная обработка ошибок единственной возможностью?

1 Ответ

0 голосов
/ 08 ноября 2018

Боюсь, что так. Вы можете использовать некоторую фильтрацию в ErrorHandler btw, в соответствии с определенной библиотечной исключительной ситуацией. Если конкретное исключение объявлено сторонним приложением, вы можете проверить его с помощью instanceof ThirdPartyExceptionType.

import { Injectable, ErrorHandler } from '@angular/core';
import { ThirdPartyExceptionType } from 'thirdpartylibrary';

export class CustomErrorHandler implements ErrorHandler {
  handleError(error: Error | ThirdPartyExceptionType ) {   
   if (error instanceof ThirdPartyExceptionType ) {
      // do something
   } else {
     // do something else
   }
}
...