Wyjątki

0

Chciałem zapytać o obsługę kilku wyjątków jeden po drugim.
O ile dobrze kojarzę w C# możliwa była obsługa kilku wyjątków jednym błędem:

SqlException()
{
}
Exception()
{
}

Czy w Javie mogę zrobić podobnie? Domyślnie to nie działa...

catch (FileNotFoundException ex)
{
}
catch (Exception ex)
{
}
0

Działa tak: jeżeli SomeEXception i AnotherException dziedziczą po BaseException, to

catch(BaseException e)
{
   ...
}

obsłuży SomeException i AnotherException

0

Ogólnie taka metoda jest bardzo niezalecana. W takim wypadku praktycznie przeczysz całemu sensowi obsługi wyjątków. Jedynym zastosowaniem dla łapania pokemonowego to wg mnie złapanie w mainie wszystkich wyjątków i wyświetlenie ładnego komunikatu przed wyjściem z programu. Wyjątki, których nie przewidziałeś powinny prowadzić do zamknięcia programu, ze względu na to, że zwykle świadczą o błędzie programistycznym oraz trudno jest wtedy doprowadzić program do normy.

1

Możesz jeszcze tak:

try
{
    ...
}
catch(SomeException | AnotherException ex)
{
    ...
}

Wymagana Java 7

1 użytkowników online, w tym zalogowanych: 0, gości: 1