Альтернатива для нескольких попыток catch для обработки исключения
Я пытаюсь прочитать CSV-файл с 20 столбцами, которые могут содержать или не содержать значения, но проблема в том, что мне нужно создать 20 попыток перехвата, чтобы поддерживать поток кода в контролируемом режиме. подобно
String a = ""; loop
try{
a = list.get(0); // converted the csv to list of list and iterated in
}catch(NoSuchElementException e){}
и то же самое для любой другой переменной. Причина, по которой у меня есть отдельная попытка поймать, потому что в приведенном ниже коде
String a = "";
String b = "";
try{
a = list.get(0);
b = list.get(1);
}catch(NoSuchElementException e){}
Если первая строка попытки выдала исключение, вторая строка не будет выполнена.
Так есть ли какая-нибудь альтернатива этим n попыткам поймать ситуацию?
Спасибо
1 ответ
Решение
Вы можете создать вспомогательный метод:
private String getField(List<String> list, int n) {
try {
return list.get(n);
} catch (NoSuchElementException e) {
return "";
}
}
String a = getField(list, 0);
String b = getField(list, 1);
РЕДАКТИРОВАТЬ:
Как правило, вы не будете полагаться на исключения, если у вас нет достаточных полей, следующее достигает того же, но субъективно чувствует себя чище:
private String getField(List<String> list, int n) {
if (n < list.size()) {
return list.get(n);
}
return "";
}