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