我正在用 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,它不会返回该错误。当我编写其他有其他异常的程序时,也会出现同样的错误。
我不明白为什么会返回此错误,如果有任何帮助,我将不胜感激。谢谢!
最佳答案
发生这种情况很可能是因为您忘记导入
您的DivideByZeroException
。更改类的第一行添加:
import your.package.name.DivideByZeroException;
你应该没问题。当然,不要忘记使用您的真实包名称。
另一种猜测 - 如果您想要一个代表异常并附带 JDK 的类,而不是您自己的类,请考虑将 DivideByZeroException
替换为 ArithmeticException
。
关于java - 错误: cannot find symbol for Exceptions in Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23330106/