繁体   English   中英

异常无法转换为 Throwable

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM