首页 > 编程笔记 > Java笔记 阅读:11

Java throws的用法(附带实例)

在一个方法中如果产生了异常,可以选择使用 try-catch-finally 处理。但是有些情况下,一个方法并不需要处理它所产生的异常,或者不知道该如何处理,这时可以选择向上传递异常,由调用它的方法来处理这些异常。这种传递可以逐层向上传递,直到 main() 方法,这就需要使用 throws 子句声明异常。

throws 子句包含在方法的声明中,其格式如下:
returnType methodName([paramlist]) throws ExceptionList
其中,在 ExceptionList 中可以声明多个异常,用逗号分隔。Java 要求方法捕获所有可能出现的非运行时异常,或者在方法定义中通过 throws 子句交给调用它的方法进行处理。

【实例】使用 throws 子句声明异常。
import java.io.*;

public class ThrowsDemo {
    // 声明 ArithmeticException 异常,如果本方法内产生了此异常,则向上抛出
    public static int divide(int a, int b) throws ArithmeticException {
        return a / b;
    }

    public static void main(String[] args) {
        try {
            int result = divide(10, 0);
            System.out.println("The result is " + result);
        } catch (ArithmeticException e) {
            System.out.println("An exception occurred: " + e.getMessage());
        }
    }
}
程序执行结果为:

An exception occurred:/ by zero

在上面的示例中,divide() 方法声明它可能会抛出 ArithmeticException 异常。在 main() 方法中,使用 try-catch 块来调用 divide() 方法并捕获异常。如果发生异常,则打印异常消息。

需要注意,如果一个方法抛出了异常,那么调用该方法的代码必须处理该异常,否则编译器会报错。如果调用该方法的代码也不打算处理该异常,那么它可以选择继续向上抛出该异常。

相关文章