簡體   English   中英

JAVA中的異常處理

[英]Handling exceptions in JAVA

我知道如果我們有一個沒有 try 和 catch 語句的普通代碼,那么如果發生異常,則 JVM 的默認異常處理程序會處理該異常。 我有一個代碼...

public class St
{
    public static void main(String args[])
    {
        try
        {
            int y=23/0;
        }
        catch(Exception e)
        {
            System.out.println("Division by zero");
        }
    }
}

據我所知,在這段代碼中,異常發生在第 7 行,拋出了一個 Exception 類的對象,這就是為什么我們將 Exception 類的對象作為參數以捕獲異常。我現在到了嗎??? ?

但是為什么這段代碼顯示編譯時錯誤......

public class St
{
    public static void main(String args[])
    {
        Exception e=new Exception();
        try
        {
            int y=23/0;
        }
        catch(e)
        {
            System.out.println("Division by zero");
        }
    }
}

在此,我創建了一個類 Exception 的對象引用 e,並且我在 catch 中將其作為參數。但它沒有運行,在編譯時出錯。有人可以解釋為什么嗎???

這不是 catch 塊的工作方式。 它需要一個 ExceptionType 參數,然后是一個名稱來在它被捕獲后引用異常。 它不接受一個對象作為參數,而是一個繼承自“Throwable”的類的名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM