Po co zgłaszać wyjątki?

0

Cześć, nie do końca rozumiem wyjątki tzn. potrafię je wstawić do kodu itd. ale po co zgłaszać wyjątek który i tak nie zostanie przechwycony? Czy to nie wychodzi na jedno? Bo gdybyśmy go nie zgłosili to przecież program i tak przestanie działać i napisze dlaczego (np. przy dzieleniu przez zero).

1

Ale dlaczego wypieprzać program przy dzieleniu przez zero? Przecież można złapać wyjątek, zalogować, zgłosić błąd użytkownikowi i kontynuować dalej. Użytkownik może spróbować jeszcze raz z tymi samymi lub innymi danymi wejściowymi.

1

Wyjątki czy instrukcje warunkowe ?
Poza tym: jak piszesz coś więcej niż hello world, na przykład kod na > 1kk linii kodu z którego korzystają tysiące ludzi to nie chcesz wypluć użytkownikowi błędu "division by zero" albo "null pointer exception" albo innych zupełnie dla niego niezrozumiałych. Chcesz mu wyświetlić sensowny błąd z domeny biznesowej, na przykład "podałeś zły numer telefonu".

0

Dobra, dzięki za pomoc (link wyżej wiele wyjaśnił) ale co to znaczy, że program nie jest kaput? Przecież po zgłoszeniu wyjątku wszystko przestaje działać.

1

Ale przecież wyjątek możesz złapać, wtedy program wcale nie umiera ;) Tylko mozesz normalnie pracować dalej od miejsca gdzie złapałeś wyjątek. Na przykład możesz powtórzyć operację która się wysypała.
Jeśli próbujesz ściągnąć dane z internetu i poleciał ci wyjątek że nie da się nawiązać połączenia to możesz złapać ten wyjątek i spróbować ponownie.

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