Oprava 15. části PPA1
This commit is contained in:
parent
cfe64e91f1
commit
937aca55ba
|
@ -48,7 +48,7 @@
|
|||
|
||||
- Všechny tyto výjimky jsou odvozeny (přímo nebo přes delší hierarchii) od ```RuntimeException```
|
||||
- Není nutné se o ně v programu postarat, protože mohou nastat kdekoliv
|
||||
- Příkladem je přístup do neexistujícího prvku pole (```ArrayIndexOutOfBoundException```), volání metody nad referenční proměnnou, která je ```null``` (```NullPointerException```),dělení nulou (```ArithmeticException```) a mnoho dalších
|
||||
- Příkladem je přístup do neexistujícího prvku pole (```ArrayIndexOutOfBoundException```), volání metody nad referenční proměnnou, která je ```null``` (```NullPointerException```), dělení nulou (```ArithmeticException```) a mnoho dalších
|
||||
- Program lze přeložit – **překladač nás nenutí, abychom je ošetřili** pomocí speciální části zdrojového kódu
|
||||
- Považujeme-li to za vhodné, můžeme je ošetřit (stejným způsobem jako kontrolované výjimky)
|
||||
- Typicky je to v místech, kde je zvýšená pravděpodobnost problému (např. vstupy od uživatele)
|
||||
|
@ -99,7 +99,8 @@
|
|||
- Blok ```finally``` následuje za blokem catch
|
||||
- Obsahuje část kódu, která se provede vždy – ať už k výjimce dojde, nebo ne (i když dojde k jiné výjimce, která není odchycena)
|
||||
- Nepoužívá se příliš často
|
||||
- Možné ošetření výjimky – pouze vypsání chyby a ukončení programu Primitivní, ale často rozumný způsob
|
||||
- Možné ošetření výjimky – pouze vypsání chyby a ukončení programu
|
||||
- Primitivní, ale často rozumný způsob
|
||||
- Hodí se v případech, kdy vznik výjimky znamená, že program dál stejně nemůže smysluplně pokračovat
|
||||
- Umožní program přeložit (pokud ošetřujeme kontrolovanou výjimku)
|
||||
- V případě, že je výjimka vyhozena, se o ní z chybového výpisu dozvíme
|
||||
|
@ -190,7 +191,7 @@
|
|||
- Propagování výše se provede v bloku ```catch``` příkazem ```throw```
|
||||
- Výjimky jsou zachyceny blokem ```catch```, ve kterém se provede ošetření (zde není žádné potřeba) a výjimka se následně předá výše
|
||||
- Uzavření souboru (pokud je otevřen) se provede v bloku ```finally``` (chceme ho zavřít v každém případě, ať už výjimka vznikla nebo ne)
|
||||
- Pokud potřebujeme v ošetření výjimky provést pouze uzavření souboru (a ne jinou akci), je možné (a lepší) použít konstrukci ```try```-withrerources
|
||||
- Pokud potřebujeme v ošetření výjimky provést pouze uzavření souboru (a ne jinou akci), je možné (a lepší) použít konstrukci ```try```-with-resources
|
||||
- Bloky ```catch``` ani ```finally``` se vůbec neuvedou, ale k uzavření souboru dojde
|
||||
- Kvůli chybějícímu bloku ```catch``` se výjimka ani nezachytí a není tedy ani nutné znovu ji vyhazovat příkazem ```throw```
|
||||
|
||||
|
|
Loading…
Reference in a new issue