Что делать в блоке catch
, если мы ничего не можем сделать для восстановления работы программы? Скажем, это простая программа, поэтому Logging тоже не подходит. Например:Правильная простая обработка исключений
public class Test {
public static void main(String[] args) {
try {
Scanner in = new Scanner(Paths.get("SomeFile.txt"));
//...
} catch (IOException exc){
//System.out.println("Error"); — erroneous, right?
}
}
}
Что бы вы хотели видеть, когда возникает такое исключение (а не ошибка)? Вы можете распечатать трассировку стека, например, распечатать сообщение об ошибке (для этого нужно использовать 'System.err') или что-нибудь еще, что поможет вам определить неправильное поведение. Обычно я предпочитаю просто' System.err.println (exc) ' в блоке catch (Исключения имеют метод 'toString()')! – vefthym
Если вы не можете восстановить, просто не поймайте вообще. – rightfold
Что вы подразумеваете под простой программой? Вы имеете в виду программу, написанную для понимания Java API? – CKing