Q&A – Czy możliwe jest wywołanie kilku bloków catch?

Odpowiedź brzmi – nie.

Oczywiście możemy zdefiniować różne bloki catch, ale po to by wyłapać różne rodzaje wyjątków. Jak na przykład tutaj:

Mamy możliwość wyłapania wyjątku typu MyException, jak również ogólnego Exception. Jednak w momencie, gdy złapany zostanie MyException wykonywanie kodu przechodzi do bloku finally (jeśli takowy istnieje).
W przypadku definiowania kilku rodzajów wyjątków musimy pamiętać również o tym, by definiować w kodzie bloki catch zaczynając od najbardziej specyficznego. Tak właśnie jest w powyższym przykładzie. Jeśli odwrócilibyśmy kolejność definicji tych dwóch bloków, to wszystkie wyjątki łapane by były przez blok Exception, ponieważ jest on najbardziej ogólny. Tym samym działanie naszej aplikacji byłoby totalnie niepoprawne.