本文档使用Angular来指代Angular 2+。 @ sentry / browser本身会报告从您的应用程序触发的任何未捕获的异常。
此外,@ sentry / browser可以配置为捕获通过@ angular / core / ErrorHandler组件报告的任何Angular特定(2.x)异常。
import { BrowserModule } from "@angular/platform-browser";
import { NgModule, ErrorHandler, Injectable } from "@angular/core";
import { AppComponent } from "./app.component";
import * as Sentry from "@sentry/browser";
Sentry.init({
dsn: "https://<key>@sentry.io/<project>"
});
@Injectable()
export class SentryErrorHandler implements ErrorHandler {
constructor() {}
handleError(error) {
Sentry.captureException(error.originalError || error);
throw error;
}
}
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule],
providers: [{ provide: ErrorHandler, useClass: SentryErrorHandler }],
bootstrap: [AppComponent]
})
export class AppModule {}