如何抛出异常 java
抛出异常的基本语法
在 Java 中,使用 throw 关键字手动抛出异常。语法如下:
throw new ExceptionType("Error message");
ExceptionType 可以是 Java 内置的异常类(如 IllegalArgumentException、NullPointerException),也可以是自定义的异常类。
抛出内置异常
Java 提供了多种内置异常类,可以直接抛出。例如:
if (input < 0) {
throw new IllegalArgumentException("Input cannot be negative");
}
自定义异常类
可以通过继承 Exception 或 RuntimeException 创建自定义异常类:
public class CustomException extends Exception {
public CustomException(String message) {
super(message);
}
}
使用时:
throw new CustomException("This is a custom exception");
在方法中声明异常
如果方法可能抛出受检异常(checked exception),需要在方法签名中使用 throws 声明:
public void riskyMethod() throws CustomException {
throw new CustomException("Something went wrong");
}
抛出运行时异常
运行时异常(unchecked exception)不需要在方法签名中声明:
public void divide(int a, int b) {
if (b == 0) {
throw new ArithmeticException("Division by zero");
}
return a / b;
}
异常链
可以通过异常链将底层异常包装为高层异常:

try {
// Some code that throws IOException
} catch (IOException e) {
throw new CustomException("Failed to process data", e);
}
最佳实践
- 为异常提供有意义的错误信息
- 优先使用最具体的异常类型
- 避免过度使用异常处理控制流程
- 对于可恢复的错误使用受检异常,对于编程错误使用运行时异常






