import java.io.*; public class Exceptionweiterreicher2 { public static void main(String[] args) { try { machEinenFehler(); } catch (NumberFormatException lala) { System.out.println("Wird keiner zu sehen bekommen, weil hier keine solche Exception auftreten kann."); } catch (FileNotFoundException meineEx) { System.out.println("Beim Öffnen der Datei trat ein Fehler auf!"); } catch (Exception lala) //Exception (Oberklasse) fängt so gut wie alles ab { //eine Menge möglicher Exceptions können hier landen //in diesem Fall gibt es aber nur die FileNotFound... //und die wird bereits abgefangen System.out.println("Das wird keiner lesen, außer wir verursachen noch eine andere Exception."); } System.out.println("Das Programm läuft nach Abfangen der Exception normal weiter."); } /* * entweder muss angegeben werden, dass die FileNotFoundException geworfen wird (throws ...) * oder sie muss gefangen werden (try - catch...) */ public static void machEinenFehler() throws FileNotFoundException //oder eine Superklasse von FileNotFoundException { //Öffnen einer nicht existierenden Datei zum Lesen FileReader einleser = new FileReader("nichtExistierendeDatei.txt"); System.out.println("Die Methode wird abgebrochen! - Das steht nicht mehr am Bildschirm"); } }