Есть метод для возведения числа в степень.
public static double raisedToPower(double a, double b) {
return Math.pow(a, b);
}
В результате вычисления метод может возвратить значения NaN и Infinity, что в свою очередь может поломать программу в точке вызова.
В моем понимании я должен обработать это внутри метода (Если NaN или Infinity, то возвратить ключ, который можно обработать вне метода). Вот в чём вопрос, что можно возвратить в качестве ключа или есть другой способ обработать данную ситуацию?
public static double raisedToPower(double a, double b) {
double res = Math.pow(a, b);
if (Double.isNaN(res) || Double.isInfinite(res)) {
return key;
}
return res;
}
В целом вы идею поняли верно, но интерпретировали неправильно.
NaN и Infitity - это уже и есть такой "ключ"
Рекомендую вызвать исключение и ловить его во вне:
if(Double.isNaN(res)){
throw(new Exception("NAN"));
}
else if(Double.isInfinite(res)){
throw(new Exception("INFINITE"));
}
Далее, в месте использования метода просто пишем обработчик исключения через try, catch, finally.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть такая программа, которая парсит файл и вытаскивает из нее нужные данные (Вопрос, ответы и категории) и полученные данные выгружает в ExcelНо...
При нажатии кнопки StartRead вылетает с ошибкойВ чем проблема? И еще вопрос, как эти данные из потока записать в музыкальный файл?
Можно ли вызывать прорисовку скомпилиного листа glCallList между glNewList(list, GL_COMPILE) и glEndList()? Не будет ли ошибка?
есть обычный див на нём есть спан на который при нажатии добавляется точно такой же блок клик и добавление блока идёт динамически через $('body')on('click','