编程小记1 throw new RuntimeException(“错误信息“);
一、概念
throw new RuntimeException
是 Java 中用于抛出运行时异常的一种方式。RuntimeException
是 Java 中的一种异常类型,它继承自 Exception
类,但不同于 Exception
,RuntimeException
是 未经检查的异常(unchecked exception),意味着编译器不会强制要求你处理它。
二、基本语法
throw new RuntimeException("错误信息");
new RuntimeException("错误信息")
创建一个新的RuntimeException
对象,并将错误信息传递给构造函数。throw
用于显式抛出异常。
三、使用场景
可以在遇到特定错误或不符合业务逻辑的情况下抛出
RuntimeException
。比如,某个条件不成立时,抛出运行时异常来终止程序或提示错误。
1.基本用法
public class Main {
public static void main(String[] args) {
int age = -1;
if (age < 0) {
// 抛出运行时异常,告知年龄不能为负数
throw new RuntimeException("年龄不能为负数");
}
System.out.println("年龄:" + age);
}
}
2.在方法中抛出 RuntimeException
public class Main {
public static void main(String[] args) {
try {
int result = divide(10, 0); // 故意做除零操作
System.out.println("结果:" + result);
} catch (RuntimeException e) {
System.out.println("捕获异常:" + e.getMessage());
}
}
public static int divide(int a, int b) {
if (b == 0) {
// 抛出除零异常
throw new RuntimeException("除数不能为零");
}
return a / b;
}
}
3.自定义 RuntimeException
子类
可以继承 RuntimeException
来定义你自己的运行时异常类型。
// 自定义一个运行时异常
class InvalidAgeException extends RuntimeException {
public InvalidAgeException(String message) {
super(message);
}
}
public class Main {
public static void main(String[] args) {
int age = -5;
if (age < 0) {
// 抛出自定义的运行时异常
throw new InvalidAgeException("年龄不能为负数");
}
System.out.println("年龄:" + age);
}
}
四、异常的传播
运行时异常通常不会被强制捕获(不像检查异常 IOException
或 SQLException
)。如果抛出 RuntimeException
,并且没有捕获它,程序将终止,或者异常会传播到调用栈的上层。
五、总结
throw new RuntimeException("错误信息");
用于抛出一个运行时异常,可以附带错误信息。RuntimeException
是未经检查的异常,通常用于表示程序逻辑错误或运行时的异常情况。- 如果希望抛出特定类型的运行时异常,可以自定义异常类。