Java Exceptions: Typen, Hierarchie & Handling
Java Exceptions
Erkunden Sie Java Exceptions – Verständnis von Fehlern, Exception-Typen und der Hierarchie, die robustes Error Handling formt.
Eine Exception ist ein unerwartetes Ereignis, das den normalen Programmfluss unterbricht und oft zu abnormaler Beendigung führt.
Eine Exception kann aus verschiedenen Ursachen entstehen, darunter:
- Ungültige Benutzereingabe
- Geräteausfälle
- Netzwerkunterbrechungen
- Physische Limits (z. B. Speicherplatzmangel)
- Code-Fehler
- Versuch, nicht verfügbare Dateien zu öffnen
Java Exception-Hierarchie
Unten sehen Sie ein vereinfachtes Diagramm von Javas Exception-Hierarchie.

Die Wurzel dieser Hierarchie ist die Throwable-Klasse. Sie verzweigt sich in zwei Hauptzweige: Error und Exception.
Errors
Errors stellen irreparable Zustände dar wie JVM Out-of-Memory, Stack Overflows, Bibliotheksinkompatibilitäten und endlose Rekursion. Sie liegen typischerweise außerhalb der Kontrolle des Programmierers, und der Versuch, sie zu behandeln, wird nicht empfohlen.
Exceptions
Exceptions sind Zustände, die ein Programm abfangen und davon erholen kann. Wenn eine Exception auftritt, erstellt die JVM ein Exception-Objekt, das Namen, Beschreibung und Programmzustand zum Zeitpunkt des Ereignisses kapselt.
Im nächsten Tutorial werden wir behandeln, wie man diese Exceptions handhabt. Für jetzt untersuchen wir die zwei Hauptkategorien innerhalb des Exception-Zweigs.
Java Exception-Typen
Der Exception-Zweig teilt sich in RuntimeException (unchecked) und IOException (checked). Den Unterschied zu verstehen ist der Schlüssel zu effektivem Error Handling.
1. RuntimeException
RuntimeException-Instanzen entstehen aus Programmierfehlern und werden zur Kompilierzeit nicht geprüft. Häufige Beispiele sind:
- Unsachgemäße API-Nutzung –
IllegalArgumentException - Null-Pointer-Dereferenzierung –
NullPointerException - Array-Index außerhalb der Grenzen –
ArrayIndexOutOfBoundsException - Division durch Null –
ArithmeticException
Kurz gesagt: Wenn es eine Runtime-Exception ist, deutet es oft auf einen Codierfehler hin, der behoben statt gefangen werden sollte.
2. IOException
IOException repräsentiert checked Exceptions, die der Compiler den Entwickler zwingt zu behandeln. Typische Szenarien umfassen:
- Versuch, eine nicht existierende Datei zu öffnen –
FileNotFoundException - Lesen über das Dateiende hinaus
Die korrekte Behandlung dieser checked Exceptions ist essenziell für den Bau resilienter Anwendungen.
Wir werden Exception-Handling-Techniken im nächsten Tutorial vertiefen.
Java
- Java Operatoren meistern: Typen, Syntax und praktische Beispiele
- Java Kommentare: Typen, Verwendung und Best Practices
- Java Enhanced For-Schleife meistern: Syntax, Beispiele und Best Practices
- Java Strings meistern: Erstellung, Methoden und Best Practices
- Java Exception Handling meistern: Try, Catch, Finally, Throw & Throws erklärt
- Java throw vs. throws: Exception Handling mit praktischen Beispielen meistern
- Multi-Exception Handling in Java meistern
- Java Try-With-Resources meistern: Automatisches Ressourcenmanagement erklärt
- Java Annotations erklärt: Typen, Platzierung und praktische Beispiele
- Java Assertions: Praktischer Leitfaden zur Fehlererkennung und Code-Reliabilität