簡體   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