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