Невозможно сделать исключения Java для этих операций, потому что Java реализует стандарт IEEE 754 для арифметики с плавающей запятой, который требует, чтобы эти операции возвращали конкретные битовые комбинации со значением «Не число» или "Бесконечность".
Если вы хотите специально обработать эти случаи, вы можете сравнить результаты с соответствующими константами, такими как Double.POSITIVE_INFINITY
(для NaN вы должны использовать метод isNAN()
, потому что NaN! = NaN). Обратите внимание, что вам не нужно проверять после каждой отдельной операции, так как последующие операции сохранят значение NaN или Infinity. Просто проверьте конечный результат.