Ve výše uvedené metodě main zachycuje poslední klauzule generickou výjimku java.lang.Exception. Místo toho
vytvořte vyhrazenou klauzuli catch pro každou deklarovanou výjimku, která je vyhozena z klauzule try.
Pozn.: Mohou nastat situace, kdy se preferuje generické zachycení, aby se zajistila elegantní ukončení. Obecně
však lze říci, že větší srozumitelnosti a více voleb řízení lze dosáhnout s více klauzulemi catch, které jsou specifické.
public static class Loader {
public void load() throws UnsupportedOperationException, ClassNotFoundException {
}
}
public static void main(String[] args) {
Loader loader = new Loader();
try {
loader.load();
} catch ( UnsupportedOperationException e1 ) {
System.out.println( "load is not implemented" );
} catch ( ClassNotFoundException e2 ) {
System.out.println( "No class " + e2.getMessage() );
}
}
|
|