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

Java throw抛出异常的用法(附带实例)

在 Java 程序中,很多异常都是在程序执行期间由Java虚拟机进行捕捉抛出的,但有时我们希望能亲自进行异常类对象的实例化操作,手动进行异常的抛出,这时就要使用 throw 关键字来实现。

throw 关键字的语法格式如下:
throw new 异常对象();
接下来,通过案例来演示使用 throw 关键字手动抛出异常。
public class Demo {
    public static void main(String[] args) {
        try {
            final int divide = divide(5, 0); // 调用divide()方法
            System.out.println(divide); // 打印结果
        } catch (ArithmeticException e) {
            e.printStackTrace(); // 打印异常堆栈信息
        }
        System.out.println("程序结束");
    }

    // 下面的方法实现了两个整数相除
    public static int divide(int x, int y) {
        if (y == 0) {
            throw new ArithmeticException("错误: 除数不能为0! ");
        }
        int result = x / y; // 定义一个变量result,记录两个数相除的结果
        return result; // 将结果返回
    }
}
程序的运行结果如下:
程序结束
java.lang.ArithmeticException: 错误:除数不能为0!
at com.aaa.p080502.Test.divide(Test.java:19)
at com.aaa.p080502.Test.main(Test.java:8)
在 divide() 方法中,直接使用 throw 关键字进行了异常类 ArithmeticException 的抛出。从程序运行结果中可以发现,异常捕获机制能对 throw 抛出的异常进行捕获并处理。

通过实例不难发现,Java 的异常一般会被 JVM 拦截并抛出,但是有时可能会遇到因为传参而出现的参数问题,或是由于其他的特殊错误情况导致需要自定义异常,这时就需要开发人员进行手动抛出异常。

相关文章