當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java throw和throws的區別用法及代碼示例


先決條件: Java 中的拋出和拋出

throw 和 throws 是 Java 中異常處理的概念,其中 throw 關鍵字從方法或代碼塊中顯式拋出異常,而 throws 關鍵字用於方法的簽名中。

Java 中的 throw 和 throws 的區別是:

S. No.

Key Difference

throw

throws

1. 使用點 關鍵字在函數內部使用。當需要邏輯拋出異常時使用它。 拋出函數簽名中使用關鍵字。當函數中有一些可能導致異常的語句時使用它。
2. 拋出異常 關鍵字用於顯式拋出異常。它一次隻能拋出一個異常。 拋出可以使用關鍵字聲明多個異常,用逗號分隔。無論發生哪種異常,如果與聲明的異常匹配,都會自動拋出。
3. Syntax 語法為關鍵字包含要拋出的異常的實例。語法方麵的 throw 關鍵字後麵跟著實例變量。 語法為拋出關鍵字包括要拋出的異常的類名。語法方麵的 throws 關鍵字後麵是異常類名稱。
4. 異常的傳播 關鍵字無法傳播已檢查的異常。它僅用於傳播未使用 throws 關鍵字檢查的未經檢查的異常。 拋出關鍵字僅用於傳播已檢查的異常。

例子

1.Java拋出

Java


// Java program to demonstrate the working  
// of throw keyword in exception handling 
  
public class GFG { 
    public static void main(String[] args) 
    { 
        // Use of unchecked Exception 
        try { 
            // double x=3/0; 
            throw new ArithmeticException(); 
        } 
        catch (ArithmeticException e) { 
            e.printStackTrace(); 
        } 
    } 
}

輸出:

java.lang.ArithmeticException
    at GFG.main(GFG.java:10)

2.Java拋出異常

Java


// Java program to demonstrate the working 
// of throws keyword in exception handling 
import java.io.*; 
import java.util.*; 
  
public class GFG { 
  
    public static void writeToFile() throws Exception 
    { 
        BufferedWriter bw = new BufferedWriter( 
            new FileWriter("myFile.txt")); 
        bw.write("Test"); 
        bw.close(); 
    } 
  
    public static void main(String[] args) throws Exception 
    { 
        try { 
            writeToFile(); 
        } 
        catch (Exception e) { 
            e.printStackTrace(); 
        } 
    } 
}

輸出:

java.security.AccessControlException: access denied ("java.io.FilePermission" "myFile.txt" "write")
  at GFG.writeToFile(GFG.java:10)


相關用法


注:本文由純淨天空篩選整理自AnushkaKhattri大神的英文原創作品 Difference Between throw and throws in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。