2019-11-16 08:31:28 +00:00
parent 807a3ac738
commit c74b03cec8

@@ -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