关于在 Java 中编写自定义 Class 异常

Regarding Writing a Custom Class Exception in Java

我正在努力完成我的计算机科学课程教授布置的 activity,我不太清楚他的意思,请看数字 4:

这是我目前的情况:

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) {

}

}

如您所见,我已经编写了方法 f1 和 f2_1,这是问题 2 所要求的。我打算将问题四的解决方案放在 f2_2 中。我不太确定要为 4 号做什么,如果有任何关于前进方向的建议,我们将不胜感激。感谢您的宝贵时间!

该问题试图帮助您理解异常处理。您有一个抛出名为 f1 的异常的方法。调用 f1 的方法有两种方法可以处理这个问题。他们可以捕获它,也可以将它扔回调用它们的方法。第一个看起来像这样:

//note that I have removed the "throws" from the method declaration
public static void f2_1(int x) {
    try {
        f1(x);
    } 
    catch (XisFiveException e) {
        f1(x + 1);
    }
}

第二个看起来像这样:

public static void f2_2(int x) throws XisFiveException{
    f1(x);
}

同样,不同之处在于,一个使用 try catch 块处理异常,而另一个只是将异常传递给调用它的任何方法。这些应该可以帮助您解决问题,但正如您的教授所说,重要的是了解处理异常的不同方法。