@@ -35,7 +35,25 @@
|
||||
- Dürfen nicht deklarierte CheckedExceptions gefangen werden? -> Nein (``Exception, RuntimeExcpetion, Throwable, Error`` schon). Compilezeit-Typ zählt.
|
||||
- `IOException` ist eine checked Exception
|
||||
- Überschriebene Methoden dürfen keine neuen CheckedExceptions deklarieren, von vorhandenen dürfen **Subklassen** deklariert werden. (Dann bei super-Aufrufen die ursprüngliche Exception aber auch behandeln). Nicht deklarierte Exceptions der Oberklasse sind auch nicht vorhanden, müssen nicht behandelt werden (deklarierter Typ zählt).
|
||||
-
|
||||
|
||||
```
|
||||
Object
|
||||
|
|
||||
|
|
||||
Trowable
|
||||
|
|
||||
|------ Error
|
||||
| |
|
||||
| |------- ...
|
||||
|
|
||||
|------ Exception (Ab hier Checked außer Runtime)
|
||||
|
|
||||
|------- Runtime (inkl. Unterbaum nicht Checked)
|
||||
| |
|
||||
| |------
|
||||
|------
|
||||
```
|
||||
|
||||
- **Konstruktoren und Vererbung**:
|
||||
- `super` erster Aufruf, auch nicht in try-Block einbettbar
|
||||
- Dadurch können Exceptions der Konstruktoren der Superklassen nicht gefangen und selbst deklariert werden
|
||||
|
||||
Reference in New Issue
Block a user