История изменений
Исправление eao197, (текущая версия) :
Все верно, но ведь вам никто не мешает перехватить и RuntimeException, если уж так хочется
Речь не о том, что нельзя перехватывать RuntimeException. А о том, что список задекларированных в throws исключений отнюдь не исчерпывает список тех исключений, которые могут выскочить. Т.е. если где-то кто-то написал что-то вроде:
class Service {
public void doSomething() throws FileNotFoundException {...}
...
}
class Client {
public void useService(Service svc) {
try {
SomeResource res = allocateSomeResource();
svc.doSomething();
res.close();
}
catch(FileNotFoundException ex) {
handleProblem(ex);
res.close();
}
}
...
}
Исходная версия eao197, :
Все верно, но ведь вам никто не мешает перехватить и RuntimeException, если уж так хочется
Речь не о том, что нельзя перехватывать RuntimeException. А о том, что список задекларированных в throws исключений отнюдь не исчерпывает список тех исключений, которые могут выскочить. Т.е. если где-то кто-то написал что-то вроде:
class Service {
public void doSomething() throws FileNotFoundException {...}
...
}
class Client {
public void useService(Service svc) {
try {
SomeResource res = allocateSomeResource();
svc.doSomething();
res.close();
}
catch(FileNotFoundException ex) {
handleProblem(ex);
res.close();
}
}
}