Многочисленные try-catch

Рейтинг: 1Ответов: 1Опубликовано: 21.09.2014

Всем привет.
Подскажите, пожалуйста, можно ли (и если да, то как) заменить несколько блоков try-catch на один, но с таким же функционалом (с сохранением замены значения на -1)?

try
{
    temp.year = Integer.parseInt(year.getText());
}
catch(Exception e)
{
    temp.year = -1;
}
try
{
    temp.v = Integer.parseInt(v.getText());
}
catch(Exception e)
{
    temp.v = -1;
}
try
{
    temp.maxSpeed = Integer.parseInt(maxSpeed.getText());
}
catch(Exception e)
{
    temp.maxSpeed = -1;
}

Ответы

▲ 5

Просто создайте метод parseIntSafe и передавайте в него значения:

public static int parseIntSafe(String value) {
    try {
        return Integer.parseInt(value);
    } catch (NumberFormatException e) {
        return -1;
    }
}

Стоит еще предусмотреть обработку null.