ArithmeticException
Opis
ArithmeticException jest wyjątkiem z grupy wyjątków niekontrolowanych (dziedziczących po RuntimeException) i występuje najczęściej w sytuacji, gdy próbujemy wykonać niedozwoloną operację matematyczną.
Wyjątek znajduje się w pakiecie java.lang więc pełna ścieżka do klasy to java.lang.ArithmeticException.
Najpopularniejszą sytuacją, kiedy wyjątek ten jest generowany jest próba dzielenia całkowitoliczbowego przez 0.
Przykład
package pl.javastart.exception.arithmeticexception;
public class ArithmeticExceptionExample {
public static void main(String[] args) {
int x = 10;
int y = 0;
int divide = x / y;
System.out.println(divide);
}
}
Przy próbie uruchomienia w 8 wierszu zostanie rzucony wyjątek Exception in thread "main" java.lang.ArithmeticException: / by zero.
Co ciekawe w sytuacji dzielenia liczb zmiennoprzecinkowych przy dzieleniu przez 0 (a właściwie 0.0) wyjątek nie jest generowany, zamiast tego otrzymujemy wartość Infinity.
Najprostszym sposobem poradzenia sobie z wyjątkiem jest jego obsługa w bloku try catch:
package pl.javastart.exception.arithmeticexception;
public class ArithmeticExceptionExample {
public static void main(String[] args) {
int x = 10;
int y = 0;
try {
int divide = x / y;
System.out.println(divide);
} catch(ArithmeticException e) {
System.err.println("You can't divide by 0");
}
}
}
Przykłady na Github
Dyskusja i komentarze
Masz pytania do tego wpisu? Może chcesz się podzielić spostrzeżeniami? Zapraszamy dyskusji na naszej grupie na Facebooku.