Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > не обрабатывается исключение |
Автор: Pawl 1.1.2012, 15:04 | ||
Доброго времени суток (и с Новым Годом![]() Попросил меня товарисч сделать прогу для вычисления корня заданного уравнения методом деления отрезка пополам с пом. рекурсии. Сессия у него! Только не думайте, что я ее сделал вчера или сегодня! ![]()
Как видно, корень тут может быть не числом (NaN), а проблема в следующем: в методе getRoot(), когда корень - не число, выбрасывается Exception, которое, по идее, должно отлавливаться в блоке try catch метода main. Но оно не отлавливается, а на экран вместо него выводится NaN. Конечно, можно выбрасывать исключение сразу в методе findRoot, но мне, если честно, так не хочется. Да и не понятно, почему программа некорректно работает. Если кто доходчиво объяснит, буду благодарен. Спасибо! |
Автор: jk1 1.1.2012, 16:13 | ||
С новым годом. Сравнение чисел с плавающей точкой на точное равенство - плохая идея в большинстве языков. Тем более когда речь идет о NaN. Вот работающий вариант
|
Автор: Pawl 1.1.2012, 16:28 |
Отлично, спасибо, jk1! Да, знание таких вот тонкостей приходит с опытом... |