Решал задачу "парсер реквестов".
В правильном решении тут, и в некоторых других задачах попадалась такая логика: выбирается метод, в который передать параметр String objValue (там может быть и число и символы)- если нормально то double если выкинет исключение - то String.
if (objValue != null) {
try {
alert(Double.parseDouble(objValue));
} catch (NumberFormatException nfe) {
alert(objValue);
}
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
Но можно ведь написать просто проверку на наличие букв в строке, и тогда все будет ясно и без исключений?
if (value.chars().anyMatch(Character::isLetter)) {
alert(value);
} else {
alert(Double.valueOf(value));
}
в чем тайный смысл ловли исключений?