Q&A – Co się stanie, gdy w bloku finally wystąpi wyjątek

Powiedzmy, ze mamy taki oto kod:

Efektem wykonania tego kodu będzie coś takiego:

Try block exception
Before exception in finally block
Finally block exception

Jak widać, wydarzą się następujące rzeczy, gdy pojawi się wyjątek w bloku finally metody ExceptionDemoMethod:
1. Komunikat z linijki 28 nie został wypisany, ponieważ kod zatrzymał się na wyjątku.
2. Jeśli nie byłoby obsługi wyjątku w linijce 5, aplikacja wysypałaby się podczas uruchamiania.
3. Na dodatek, jeśli nie byłoby obsługi wyjątku w linijce 20, stracilibyśmy informacje na jego temat a efekt wykonania takiego kodu wyglądałby dla odmiany tak:

Before exception in finally block
Finally block exception