Ausnahme

Eine Ausnahme (kurz für „exceptional event“) ist ein Fehler oder ein unerwartetes Ereignis, das auftritt, während ein Programm ausgeführt wird. Wenn eine Ausnahme auftritt, unterbricht sie den Ablauf des Programms. Wenn das Programm die Ausnahme behandeln und verarbeiten kann, wird es möglicherweise weiter ausgeführt. Wird eine Ausnahme nicht behandelt, muss das Programm möglicherweise beendet werden.

Mehrere Programmiersprachen unterstützen Ausnahmen, obwohl sie auf unterschiedliche Weise verwendet werden. Ausnahmen sind beispielsweise ein wesentlicher Bestandteil der Sprache Java und werden häufig verwendet, um den Ablauf eines Programms zu steuern. Java enthält eine Exception-Klasse mit Dutzenden von Unterklassen, etwa TimeoutException, UserException und IOException. Unterklassen wie IOException enthalten spezifischere Ausnahmen wie FileNotFoundException und CharacterCodingException, die „ausgelöst“ werden können, wenn eine Datei nicht gefunden wird oder die Zeichenkodierung einer Zeichenfolge nicht erkannt wird.

Andere Sprachen verwenden Ausnahmen nur, um grundlegende Laufzeitfehler abzufangen, etwa wenn Speicher nicht zugewiesen werden kann oder Fehler auf Systemebene auftreten. Beispielsweise kann ein C++-Programm die Ausnahme bad_alloc auslösen, wenn kein Speicher zugewiesen werden kann, und die Ausnahme system_error, wenn das Betriebssystem einen Fehler erzeugt.

Behandlung von Ausnahmen

Ein gut geschriebenes Computerprogramm prüft auf Ausnahmen und behandelt sie angemessen. Das bedeutet, dass der Entwickler mögliche Ausnahmen prüfen und Code zu ihrer Verarbeitung schreiben muss. Wenn ein Programm Ausnahmen gut behandelt, können unerwartete Fehler erkannt und verwaltet werden, ohne dass das Programm abstürzt.

Ausnahmen werden ausgelöst, wenn sie auftreten, und von anderem Code im Programm „abgefangen“. Sie können ausdrücklich mithilfe der throw-Anweisung oder implizit innerhalb einer try-Klausel ausgelöst werden. Unten sehen Sie ein Beispiel für die „try/catch“-Syntax in Java. Der folgende Code versucht, durch null zu teilen, löst jedoch eine ArithmeticException-Ausnahme 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;

In Zeile 5 wird eine Ausnahme ausgelöst (wenn 11 durch 0 geteilt wird), sodass 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.

Aktualisiert May 6, 2017 von Per C.

quizTesten Sie Ihr Wissen

In software, the term "golden master" refers to what?

A
The final release candidate of a software program
0%
B
An bug-free desktop application
0%
C
An application that is used as a template for other programs
0%
D
An software program that sells more than one million copies
0%
Correct! Incorrect!     View the Golden Master definition.
More Quizzes →

Das Tech Terms Computer-Lexikon

Die Definition von Ausnahme auf dieser Seite wurde von den Autoren von TechTerms.com verfasst. Wenn Sie auf diese Seite verweisen oder diese Definition zitieren möchten, verwenden Sie bitte die grüne Zitierleiste direkt unterhalb der Definition.

Unser Ziel ist es, Computerbegriffe auf verständliche Weise zu erklären. Wir streben bei jeder veröffentlichten Definition nach Genauigkeit und Einfachheit. Wenn Sie Feedback zu dieser Definition haben oder einen neuen Fachbegriff vorschlagen möchten, kontaktieren Sie uns.

Der Tech Terms Newsletter

Erweitern Sie Ihr technisches Wissen mit unserem täglichen oder wöchentlichen Newsletter! Abonnieren Sie noch heute und erhalten Sie neue Begriffe und Quizze in Ihren Posteingang.

Melden Sie sich für den kostenlosen TechTerms‑Newsletter an

Wie oft möchten Sie eine E-Mail erhalten?

Sie können sich jederzeit über die Links in jeder E-Mail abmelden oder Ihre Einstellungen ändern. Fragen? Bitte kontaktieren Sie uns.

Hinweis: Der Newsletter wird auf Englisch versandt.