gpt4 book ai didi

java - 关于用 Java 编写自定义类异常

转载 作者:行者123 更新时间:2023-11-30 02:58:31 25 4
gpt4 key购买 nike

我正在尝试完成我的计算机科学类(class)教授布置的一项 Activity ,但我不太确定他的意思,请看第 4 个:

enter image description here

这是我到目前为止所拥有的:

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中。我不太确定如何处理第四号,任何关于前进方向的建议将不胜感激。感谢您的宝贵时间!

最佳答案

这个问题试图帮助您理解异常处理。您有一个抛出名为 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 block 处理异常,而另一个只是将异常传递给调用它的任何方法。这些应该可以帮助您解决问题,但就像您的教授所说,重要的是了解处理异常的不同方法。

关于java - 关于用 Java 编写自定义类异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36563291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com