Java throw抛出异常的用法(附带实例)
在 Java 程序中,很多异常都是在程序执行期间由Java虚拟机进行捕捉抛出的,但有时我们希望能亲自进行异常类对象的实例化操作,手动进行异常的抛出,这时就要使用 throw 关键字来实现。
throw 关键字的语法格式如下:
通过实例不难发现,Java 的异常一般会被 JVM 拦截并抛出,但是有时可能会遇到因为传参而出现的参数问题,或是由于其他的特殊错误情况导致需要自定义异常,这时就需要开发人员进行手动抛出异常。
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 拦截并抛出,但是有时可能会遇到因为传参而出现的参数问题,或是由于其他的特殊错误情况导致需要自定义异常,这时就需要开发人员进行手动抛出异常。