Ich versuche, eine Tätigkeit, die mein Professor für mein Informatikstudium abgeschlossen hat zugewiesen, und ich bin nicht ganz sicher, was er damit meint, schauen Nummer 4:In Bezug auf Erstellung einer eigenen Klasse Exception in Java
ist das, was ich bisher:
package ExceptionsActivity;
public class Exceptions {
public static void f1(int x) throws XisFiveException{
if (x == 5){
throw new XisFiveException("X cannot be 5");
}
else {
System.out.println("Success, x = ");
}
}
public static void f2_1(int x) throws XisFiveException{
try {
f1(x);
}
catch (XisFiveException e) {
f1(x + 1);
}
}
public static void f2_2(int x) throws XisFiveException{
}
public static void main(String[] args) {
}
}
Wie man sehen kann ich die Methode f1 und f2_1 schrieb das ist, was Frage Nummer 2 ist zu fragen. Ich hatte vor, die Lösung für Frage vier in f2_2 zu setzen. Ich bin mir nicht ganz sicher, was ich für die Nummer 4 tun soll, und jeder Ratschlag, in welche Richtung ich mich bewegen sollte, würde sehr geschätzt werden. Vielen Dank für Ihre Zeit!
Vielen Dank für die Antwort! Eine Frage, warum haben Sie die Würfe von der Methodendeklaration gelöscht? In der Eclipse, wenn ich es entferne, kompiliert das f1 (x + 1) nicht mehr, es sagt "Unhandle-Ausnahme-Typ XisFiveException". Irgendwelche Eingaben dazu? Vielen Dank! – Biggytiny
@ Biggytiny du hast Recht - die Würfe ist erforderlich, aber nicht für den ersten f1 (x) Anruf. Es wird für den zweiten Aufruf benötigt, f1 (x + 1). guter Fang. Das Wichtige an diesem Beispiel ist, dass es ein wenig verwirrend ist. Wenn Sie eine Ausnahme mit einem try-catch behandeln, müssen Sie normalerweise nicht deklarieren, dass Ihre Methode die Ausnahme auslöst. In diesem Fall tust du das aber, weil catch() die f1-Methode wieder aufruft – nhouser9
Ah ich sehe Danke nochmal! – Biggytiny