我在Angular应用程序中使用angular-google-charts
库。我在模板中使用它:
<google-chart
[title]="chart.title"
[type]="chart.type"
[data]="chart.data">
</google-chart>
如果用户离线,则由于需要互联网连接,因此Google-Chart会抛出异常。我通过将指令包装在
*ngIf
中来解决此问题,并检查是否存在网络连接或更少的网络连接。但是,在更通用的上下文中,如何捕获仅在模板中使用的第三方指令的异常?
全局错误处理是唯一的可能吗?
最佳答案
我想恐怕是的。您可以根据特定的库异常在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
}
}
关于angular - 捕获模板中使用的第三方指令的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53205761/