Ejemplo

public static class Loader {
public void load() throws UnsupportedOperationException, ClassNotFoundException{
//realice alguna operación...
}
}


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


Solución
En el método main que figura más arriba, la última cláusula captura la excepción java.lang.Exception genérica. En lugar de esto,
cree una cláusula catch para cada excepción declarada que se lance desde la cláusula try.
Nota: puede haber situaciones en las que se prefiera una captura genérica para asegurar salidas elegantes. En general,
sin embargo, es posible conseguir más claridad y opciones para obtener un mayor control con cláusulas catch más específicas.


public static class Loader {
public void load() throws UnsupportedOperationException, ClassNotFoundException {
//realice alguna operación...
}
}


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$
}
}