Hello! 欢迎来到小浪资源网!



Java中RuntimeException是如何抛出的?


Java中RuntimeException是如何抛出的?

runtimeexception 的抛出机制

Java 中的 runtimeexception 异常与一般异常略有不同,它们不需要在抛出前利用 “throw new xxx” 语句明确抛出。

jvm 抛出机制

事实上,runtimeexception 类型的异常通常是由 java 虚拟机 (jvm) 抛出的。当在代码执行过程中遇到特定情况时,例如:

立即学习Java免费学习笔记(深入)”;

  • 算术运算中的除零(如示例中 test(1, 0));
  • 对象上的 null 值(如示例中 test(NULL));
  • 数组越界访问;
  • 类转换错误;

jvm 就会自动抛出相应的 runtimeexception 异常。

源码中的抛出

虽然大部分 runtimeexception 异常是由 jvm 抛出的,但开发者也可以在 java 源码中使用 “throw new xxx” 语句来显式抛出它们。这样做通常用于处理自定义异常或转译其他类型的异常。

示例

下方的示例展示了 java 代码中抛出 runtimeexception 的情况:

public static void throwCustomException() {     throw new IllegalArgumentException("自定义 RuntimeException"); }

在执行此代码时,将抛出 illegalargumentexception(一种 runtimeexception)。

相关阅读