Beispiel

public static class Loader {
public void load() throws UnsupportedOperationException, ClassNotFoundException{
//do something...
}
}


public static void main(String[] args) {
Loader loader = new Loader();
try {
loader.load();
} catch ( Exception e ) {
e.printStackTrace();
}
}


Lösung
In der obigen Hauptmethode 'main' fängt die letze Klausel die generische 'java.lang.Exception' ab. Erstellen Sie stattdessen
für jede deklarierte Ausnahmebedingung, die über die try-Klausel ausgelöst wird, eine dedizierte catch-Klausel.
Hinweis: Es kann Situationen geben, in denen ein generisches Abfangen (catch) zur Sicherstellung von eleganten Exits bevorzugt wird. Im Allgemeinen
jedoch sind mit spezielleren catch-Klauseln eine größere Klarheit und Optionen für eine umfangreichere Steuerung möglich.


public static class Loader {
public void load() throws UnsupportedOperationException, ClassNotFoundException {
//do something...
}
}


public static void main(String[] args) {
Loader loader = new Loader();
try {
loader.load();
} catch ( UnsupportedOperationException e1 ) {
System.out.println( "load is not implemented" ); //$NON-NLS-1$
} catch ( ClassNotFoundException e2 ) {
System.out.println( "No class " + e2.getMessage() ); //$NON-NLS-1$
}
}