java如何抛出异常
抛出异常的基本语法
在Java中,使用 throw 关键字手动抛出异常。语法格式为:
throw new ExceptionType("Error message");
ExceptionType 可以是Java内置异常类(如 IllegalArgumentException)或自定义异常类。
抛出内置异常示例
抛出 IllegalArgumentException 当参数不合法时:

public void setAge(int age) {
if (age < 0) {
throw new IllegalArgumentException("Age cannot be negative");
}
this.age = age;
}
自定义异常类
通过继承 Exception 或 RuntimeException 创建自定义异常:
class CustomException extends Exception {
public CustomException(String message) {
super(message);
}
}
使用时:

throw new CustomException("Custom error occurred");
在方法声明中指定异常
使用 throws 声明方法可能抛出的异常:
public void riskyMethod() throws IOException, CustomException {
// 可能抛出IO异常的代码
throw new CustomException("Something went wrong");
}
异常链
通过构造器传递原始异常,保留堆栈信息:
try {
// 可能失败的代码
} catch (IOException e) {
throw new CustomException("Wrapper message", e);
}
最佳实践
- 对可恢复情况使用检查型异常(继承
Exception) - 对编程错误使用非检查型异常(继承
RuntimeException) - 异常消息应清晰说明错误原因
- 避免捕获异常后不处理或仅打印日志



