当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。