Wenn ich versuche, eine Ausnahme von Methodendeklaration zu werfen, erhalte ich den Fehler "Unreachable catch block für ClassNotFoundException. Diese Ausnahme wird niemals aus dem try-Anweisung body geworfen".Kann ich eine Wurf-Ausnahme von der Methode abfangen?
Der Code ist dies:
public class MenuSQL {
private static String sentence = "";
private static int option;
Statement sentenceSQL = ConnectSQL.getConexion().createStatement();
public MenuSQL(int option) throws ClassNotFoundException, SQLException {
super();
this.option = option;
try {
System.out.print("Introduce the sentence: ");
System.out.print(sentence);
sentence += new Scanner(System.in).nextLine();
System.out.println(MenuSentence.rightNow("LOG") + "Sentence: " + sentence);
if (opcion == 4) {
MenuSentence.list(sentence);
} else {
sentenceSQL.executeQuery(sentence);
}
} catch (SQLException e) {
System.out.println(MenuSentence.rightNow("SQL") + "Sentence: " + sentence);
} catch (ClassNotFoundException e) {
System.out.println(MenuSentence.rightNow("ERROR") + "Sentence: " + sentence);
}
}
}
Wie kann ich ClassNotFoundException
fangen? Danke im Voraus.
Warum möchten Sie eine Ausnahme abfangen, die niemals in Ihren 'try'block geworfen werden kann? Und warum wirft Ihre Methode die Ausnahme, obwohl sie sie fängt? –
Es gibt einfach keinen Sinn innerhalb der Methode, dass eine ClassNotFoundException ausgelöst werden könnte. –
Es ist, weil Compiler mich zwingen, diese Ausnahme in Methode –