Errorhandling
Ziele
- Ich weiss, wozu ErrorHandler verwendet werden und wie ich selbst solche implementieren kann.
ErrorHandler
Da man ja ein try-catch
nicht verwenden sollte laut Best-Practises, muss man einen anderen Weg finden Error anzufangen. Zudem wäre es mühsam überall einen solchen try-catch
Block hinzuzufügen.
Praktischer wäre doch ein globales Behandeln von Fehlern. Da kommt dann der ErrorHandler
ins Spiel.
Der ErrorHandler
ist eine abstrakte Klasse, die von Angular bereitgestellt wird und über die handleError()
-Methode verfügt. Der Handler wird verwendet, um globale Fehler in einer Anwendung abzufangen und entsprechend zu behandeln.
|
|
Indem du den GlobalErrorHandler
in der providers
-Eigenschaft der AppModule-Klasse registrierst, wird dieser als globaler ErrorHandler
für die Anwendung verwendet. Jeder Fehler, der in der Anwendung auftritt, wird automatisch durch den GlobalErrorHandler
abgefangen und entsprechend behandelt.
|
|
Error-Handler in Angular 17
Der Error-Handler beleibt in Angular 17 gleich zum erstellen, nur das verwenden ist anders.
Man muss ihn neu im app.config.ts
angeben, das sieht dann wie folgt aus:
|
|
Wenn man den Error-Handler auch bei Service-Subscription verwenden möchte. Muss man einen Interceptor dafür verwenden, dieser fängt dann die Error ab, welche vom Service kommen.
|
|
Diesen Interceptor muss man dann, wie andere auch, im app.config.ts
angeben.
|
|