Exceptions in Java

  • Throwable
    • Error (not checked)
      • AWTError
      • VirtualMachineError
      • ThreadDeath
      • LinkageError
    • Exception
      • RuntimeException (not checked)
        • ArithmeticException
        • NullPointerException
        • IndexOutOfBoundsException
          • ArrayIndexOutOfBoundsException
          • ...
        • ...
      • (checked)
      • IOException
      • InterruptedException
      • SQLException
      • ...

Throwable

Alle Errors und Exceptions sind von der Klasse Throwable abgeleitet.

Errors

Errors werden typischerweise von der virtuellen Maschine oder des darunterliegenden Systems erzeugt. Diese Fehler können in der Regel nicht abgefangen werden.
Beispiel: Klasse konnte nicht gefunden werden. Oder die virtuelle Maschine hat zu wenig Speicher um eine Klasse zu laden.

Runtime-Exceptions

Das ist eine spezielle Art von Exceptions, die während der Laufzeit auftritt. Typischerweise handelt es sich um unvorsichtige Programmierung. Diese Ausnahmen sollten nicht abgefangen werden. JAVA prüft auch nicht nach, ob diese Fehler "gecheckt" wurden.
Beispiele: Arraygrenze überschritten; Nullzeiger verwendet.

.. und der ganze Rest

Alle anderen Exceptions werden vom Compiler geprüft. Diese Ausnahmen müssen behandelt werden. Dazu verwenden wir entweder einen try-catch-finally Block, oder aber wir deklarieren die Exception im Methodenkopf mit "throws".
Beispiel: Datei kann nicht gefunden werden.