Класс ArithmeticException
Класс ArithmeticException наследуется от
RuntimeException и представляет собой
непроверяемое исключение, которое сигнализирует
об арифметической ошибке. Чаще всего это исключение
возникает при попытке целочисленного деления на ноль.
Класс не имеет собственных методов, а использует
методы, унаследованные от класса Throwable,
такие как getMessage и printStackTrace.
Синтаксис
// Создание исключения вручную
throw new ArithmeticException();
// Создание исключения с сообщением
throw new ArithmeticException("Division by zero");
Пример
Давайте попробуем разделить целое число на ноль. Это приведет к возникновению исключения:
public class Main
{
public static void main(String[] args)
{
int a = 10;
int b = 0;
try
{
int res = a / b;
System.out.println(res);
}
catch (ArithmeticException e)
{
System.out.println("Error: " + e.getMessage());
}
}
}
Результат выполнения кода:
"Error: / by zero"
Пример
Давайте рассмотрим деление с плавающей точкой. В этом случае исключение не возникает, так как результатом будет бесконечность:
public class Main
{
public static void main(String[] args)
{
double a = 10.0;
double b = 0.0;
double res = a / b;
System.out.println(res);
}
}
Результат выполнения кода:
"Infinity"
Пример
Давайте создадим и выбросим исключение
ArithmeticException вручную с помощью
оператора throw:
public class Main
{
public static void main(String[] args)
{
try
{
throw new ArithmeticException("Custom arithmetic error");
}
catch (ArithmeticException e)
{
System.out.println(e.getMessage());
}
}
}
Результат выполнения кода:
"Custom arithmetic error"
Смотрите также
-
класс
RuntimeException,
который является родителем для ArithmeticException -
оператор
throw,
который выбрасывает исключение -
конструкция
try,
которая содержит защищаемый код -
конструкция
catch,
которая перехватывает исключение