NumberFormatException
Возникает, когда строку нельзя превратить в число.
Доступно с: Java 1.0
Синтаксис
public class NumberFormatException extends IllegalArgumentExceptionПримеры
Безопасный разбор ввода:
int parseOrDefault(String s, int fallback) {
try {
return Integer.parseInt(s);
} catch (NumberFormatException e) {
IO.println(e.getMessage());
return fallback;
}
}
void main() {
IO.println(parseOrDefault("42", 0));
IO.println(parseOrDefault("4 2", 0));
IO.println(parseOrDefault("", 0));
}Результат:
42
For input string: "4 2"
0
For input string: ""
0Примечания
Бросается Integer.parseInt(), Double.parseDouble() и похожими методами при пробелах, буквах, пустой строке или выходе за пределы типа. Пробелы по краям можно убрать через strip() до разбора. Это наследник IllegalArgumentException.
См. также
- IllegalArgumentException — Сообщает, что метод получил недопустимый аргумент.
- ArithmeticException — Возникает при недопустимой арифметической операции, например целочисленном делении на ноль.
В учебнике
- try, catch и finally — Обработка исключений в Java — блоки try и catch, несколько catch, multi-catch, finally и выбрасывание исключений через throw.