我正在用Java写一个非常简单的程序,试图用用户输入的数字除以10,并捕获DivideByZeroException。这是代码:
public class EnhancedCatchExceptions6 {
public static void main(String[] args) {
System.out.println();
for (int i = 0 ; i < i; i++) {
try {
int b = Input.getInt("Enter an integer to divide by:");
divide(10, b);
break;
} catch (DivideByZeroException e) {
System.out.println("Error: Divided by zero. Try again.\n");
}
}
}
public static int divide(int x, int y) throws DivideByZeroException {
System.out.println();
int result = 0;
try {result = x/y;}
catch (ArithmeticException e) {throw new DivideByZeroException(y);}
return result;
}
}
由于某种原因,它返回一个错误:找不到每个'DivideByZeroException'的符号。如果我将DivideByZeroException更改为Exception,则不会返回该错误。当我编写具有其他异常的其他程序时,会出现相同的错误。
我不明白为什么会返回此错误,我将不胜感激。谢谢!
这很可能是因为您忘记了import
自己的行为而发生的DivideByZeroException
。更改类的第一行,添加:
import your.package.name.DivideByZeroException;
你应该没事的 当然,不要忘了使用您的真实包裹名称。
另一个猜测-如果你想要的是个例外,并配备了JDK,而不是你自己的一类,考虑更换DivideByZeroException
带ArithmeticException
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句