Я пытаюсь поймать ТОЛЬКО те исключения, с которыми я могу иметь дело.
Я ненавижу код, подобный этому:
String s="12";
Integer i;
try {
i = Integer.parseInt(s);
} catch(ParseException pe) {
System.out.println("hihihihihihihi!!!);
}
Что я особенно ненавижу, так это то, что обычно все равно прерывается поток, потому что через три строки будет доступ к i, который будет предполагать, что i! = Null.
Затем вы прочитаете свою трассировку стека, прокрутите, прокрутите и прокрутите журнал до тех пор, пока не найдете первую значительную ошибку, из-за которой все остальное развалилось.
Хотелось бы, чтобы Java не заставляла меня ловить исключения, с которыми я все равно не могу иметь дело. Но то, что я могу сделать, это:
catch(Exception e) {
throw new RuntimeException(e);
}
И я объявляю много «бросков» в моих определениях функций.
Я все еще мечтаю о том дне, когда Eclipse автоматически откроет отладчик в правильной строке, когда он получит необработанное исключение. В тот день мой метод откроет правильную строку.
В других языках, таких как Smalltalk, я ловлю только те ошибки, которые могу обработать. И я с радостью бросаю необдуманные исключения, когда ввод не соответствует моим ожиданиям.
Идея в том, что я не хочу, чтобы ошибка регистрировалась или документировалась. Я хочу это исправить.