Используйте проверенные исключения для
восстанавливаемых условий и исключения во время выполнения
для ошибок программирования
(пункт 58 во 2-м издании)
Давайте посмотрим, понимаю ли я это правильно.
Вот как я понимаю проверенное исключение:
Код: Выделить всё
try{
String userInput = //read in user input
Long id = Long.parseLong(userInput);
}catch(NumberFormatException e){
id = 0; //recover the situation by setting the id to 0
}
2. Является ли RuntimeException непроверяемым исключением?
Вот как я понимаю непроверяемое исключение:
Код: Выделить всё
try{
File file = new File("my/file/path");
FileInputStream fis = new FileInputStream(file);
}catch(FileNotFoundException e){
//3. What should I do here?
//Should I "throw new FileNotFoundException("File not found");"?
//Should I log?
//Or should I System.exit(0);?
}
Код: Выделить всё
try{
String filePath = //read in from user input file path
File file = new File(filePath);
FileInputStream fis = new FileInputStream(file);
}catch(FileNotFoundException e){
//Kindly prompt the user an error message
//Somehow ask the user to re-enter the file path.
}
Код: Выделить всё
public void someMethod throws Exception{
}
6. Должен ли я выделить точное исключение или замаскировать его с помощью Exception?
Ниже приведены мои показания
В Java, когда мне следует создавать проверяемое исключение, а когда это должно быть исключение во время выполнения?
Когда выбирать проверенные и непроверяемые исключения
Подробнее здесь: https://stackoverflow.com/questions/611 ... ns-in-java
Мобильная версия