Читать книгу Angular - Manfred Steyer - Страница 46

Exceptions

Оглавление

Zur Fehlerbehandlung unterstützen JavaScript und TypeScript Ausnahmen, wie auch viele andere Sprachen. Im Englischen heißen Ausnahmen Exceptions. Eine Funktion oder Methode löst eine Exception aus, um den Aufrufer auf einen Fehlerzustand hinzuweisen. Dieses Auslösen wird auch als Werfen bezeichnet. Ansonsten liefert sie das gewünschte Ergebnis.

Um eine Exception zu werfen, kommt das Schlüsselwort throw zum Einsatz (siehe Beispiel 2-27):

Beispiel 2-27: Eine Exception werfen

// src/app/ts/demo.ts

[...]

function div(a: number, b: number): number {

if (b === 0) {

throw new Error('division by 0 is not allowed');

}

return a / b;

}

Im Gegensatz zu vielen anderen Sprachen kann throw jeden beliebigen Wert werfen, sogar eine number oder einen string. Allerdings ist es üblich, dass eine Instanz von Error oder einer Subklasse von Error zum Einsatz kommt, um den jeweiligen Fehler anzuzeigen.

Eine Funktion oder Methode, die eine Exception wirft, kann in einem try-Block aufgerufen werden (siehe Beispiel 2-28):

Beispiel 2-28: Eine Exception fangen

// src/app/ts/demo.ts

[...]

try {

let result1 = div(10, 3);

console.debug('result1', result1);

let result2 = div(10, 0);

console.debug('result2', result2);

}

catch (error) {

console.error('Fehler', error);

}

finally {

console.debug('finally');

}

Sobald eine Exception auftritt, bricht JavaScript den try-Block ab und springt in den nächsten catch-Block, der das geworfene Element entgegennimmt. Für Aufräumarbeiten kann der try-Block auch einen finally-Block erhalten. Dieser wird in jedem Fall ausgeführt – egal ob ein Fehler aufgetreten ist oder nicht.

Ein try-Block muss immer mit einem catch- oder einem finally-Block auftreten. Auch alle drei Blöcke können kombiniert werden, wie das aktuelle Beispiel veranschaulicht.

Angular

Подняться наверх