Exception Definition

Was ist Exception?

Eine Ausnahme (kurz für „außergewöhnliches Ereignis“) ist ein Fehler oder ein unerwartetes Ereignis, das während der Ausführung eines Programms auftritt. Wenn eine Ausnahme auftritt, unterbricht sie den Programmfluss. Wenn das Programm die Ausnahme behandeln und verarbeiten kann, darf es weiterlaufen. Wird eine Ausnahme nicht behandelt, kann das Programm zum Beenden gezwungen werden.

Viele Programmiersprachen unterstützen Ausnahmen, obwohl sie auf unterschiedliche Weise verwendet werden. Zum Beispiel sind Ausnahmen ein integraler Bestandteil der Java Sprache und dienen oft dazu, den Ablauf eines Programms zu kontrollieren. Java enthält eine Klasse Exception, die Dutzende von Unterklassen hat, wie TimeoutException, UserException und IOException. Unterklassen wie IOException enthalten spezifischere Ausnahmen wie FileNotFoundException und CharacterCodingException, die „geworfen“ werden können, wenn eine Datei nicht gefunden wird oder die Zeichenkodierung eines string nicht erkannt wird.

Andere Sprachen verwenden Ausnahmen nur, um grundlegende Laufzeitfehler abzufangen, wie z.B. die fehlgeschlagene Zuweisung von Speicher oder Fehler auf Systemebene. Ein C++-Programm kann zum Beispiel die bad_alloc-Ausnahme auslösen, wenn Speicher nicht zugewiesen werden kann, und die system_error-Ausnahme, wenn das Betriebssystem einen Fehler produziert.

Ausnahmebehandlung

Ein gut geschriebenes Computerprogramm prüft auf Ausnahmen und behandelt sie angemessen. Das bedeutet, dass der Entwickler auf wahrscheinliche Ausnahmen achten und Code schreiben muss, um sie zu verarbeiten. Wenn ein Programm gut mit Ausnahmen umgeht, können unerwartete Fehler erkannt und verwaltet werden, ohne das Programm zum Absturz zu bringen.

Ausnahmen werden „geworfen“, wenn sie auftreten und von einem anderen Code im Programm „abgefangen“ werden. Sie können explizit mit der throw-Anweisung oder implizit innerhalb einer try-Klausel ausgelöst werden. Nachfolgend ein Beispiel für die Syntax von „try / catch“ in Java. Der folgende Code versucht, durch Null zu dividieren, löst aber eine ArithmeticException aus und gibt als Ergebnis 0 zurück.

 1. int a = 11;
 2. int b = 0;
 3. int result = 0;
 4. try {
 5.   int c = a / b;
 6.   result = c;
 7. } catch(ArithmeticException ex) {
 8.   result = 0;
 9. }
10. return result;

 

Eine Ausnahme wird in Zeile 5 ausgelöst (wenn 11 durch 0 geteilt wird), so dass der Rest der try-Anweisung (Zeile 6) nicht ausgeführt wird. Stattdessen wird die Ausnahme in Zeile 7 abgefangen und ein Ergebnis von 0 zurückgegeben.

Die Definition von Exception auf dieser Seite ist eine Originaldefinition von SharTec.eu.
Das Ziel von SharTec ist es, Computerterminologie so zu erklären, dass sie leicht zu verstehen ist. Wir bemühen uns bei jeder von uns veröffentlichten Definition um Einfachheit und Genauigkeit. Wenn Sie Feedback zur Ausnahme-Definition haben oder einen neuen Fachbegriff vorschlagen möchten, kontaktieren Sie uns bitte.