[英]Exception cannot be converted to Throwable
我正在使用 JDK8 在 macOS 上工作。
在 catch 中,我必须像在这种情况下一样给出异常的完整名称 (ArithmeticException e) 而不是 (Exception e) 来运行代码。
如果我使用 (Exception e),它会给出一个错误,表明我没有在 Windows 操作系统上运行。
这是为什么?? 我应该如何解决这个问题?
该代码在带有 JDK8 的 Windows 操作系统上完美运行。 如果给出异常的正确名称 (ArithmeticException e),则在 macOS 上可以完美运行。
import java.util.*;
public class ExceptionDemo
{
public static void main(String args[])
{
int a,b,c;
Scanner sc=new Scanner(System.in);
System.out.println("enter first number:");
a=sc.nextInt();
System.out.println("enter second number:");
b=sc.nextInt();
try
{
c=a/b;
System.out.println("Result is:"+c);
}
catch(Exception e)
{
System.out.println("second number cannot be zero/0 "+e);
}
System.out.println("still running");
}
}
这是我得到的错误如下:
不兼容的类型:异常无法转换为 Throwable catch(Exception e)
catch(java.lang.Exception e) {
// handle e
}
如果您不确定导入的内容以及将在名称Exception
下使用的类,请使用完全限定的名称。
名称Exception
对于您的应用程序来说看起来太宽泛了。 [YourApplicationName]Exception
将是您的异常层次结构的更清晰且无冲突的根(如果您想要一个)。
我遇到了同样的问题,但后来我注意到我的类名是 Exception 因为我的类名是(异常)我收到了那个错误。当我改变我的类名(文件名)时,它就起作用了。
如果有任何名为“Exception.java”的文件,则重命名该文件并删除该类文件,然后它将正常工作。
你应该先导入
import java.lang.Exception;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.