Угловое приложение использует часовой для захвата исключений. Часовой предоставляется с использованием фабрики. Я пытаюсь использовать службу на этом заводе, но не могу понять, почему я получаю эту ошибку:
ERROR in/sfsfsadsf/src/app/app.module.ts(64,12): error TS2554: Expected 1 arguments, but got 0.
Остальной код:
//Other imports
import {SentryCaptureErrorService} from '@common/app/services/sentry-capture-error.service';
export class RavenErrorHandler implements ErrorHandler {
constructor(
public sentryCaptureErrorService: SentryCaptureErrorService
) {
}
RavenErrorHandler(error: any): void {
this.sentryCaptureErrorService.sendCapturedException(error, environment, 'app.module')
}
}
export function provideErrorHandler() {
if (
environment.envName === 'local'
) {
return new ErrorHandler();
} else {
return new RavenErrorHandler();
}
}
@NgModule({
declarations: [
AppComponent
],
imports: [],
providers: [
{
provide: ErrorHandler,
useFactory: provideErrorHandler,
deps: [SentryCaptureErrorService],
multi: true,
},
],
bootstrap: [AppComponent],
})
export class AppModule {
constructor(
private sentryCaptureErrorService: SentryCaptureErrorService
) {
this.sentryCaptureErrorService.configAndInstallSentry(environment);
}
}
Включив 'sentryCaptureErrorService' в RavenErrorHandler, я получаю ошибку, упомянутую выше. Я могу добавить сервис в класс AppModule, но не в RavenErrorHandler.