Я стараюсь ловить ТОЛЬКО те исключения, с которыми могу справиться.
Я НЕНАВИЖУ такой код:
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, я отлавливаю только те ошибки, с которыми могу справиться. И я с радостью выбрасываю неперехваченные исключения, когда ввод не соответствует моим ожиданиям.
Идея в том, что я не хочу, чтобы ошибка регистрировалась или документировалась. Я хочу, чтобы это починили.
person
nes1983
schedule
12.01.2009