java 如何抛异常
抛出异常的方法
在Java中,可以通过throw关键字手动抛出异常。异常可以是Java内置的异常类,也可以是自定义的异常类。
throw new ExceptionType("Error message");
抛出内置异常
Java提供了许多内置的异常类,如IllegalArgumentException、NullPointerException等,可以直接抛出。

if (input < 0) {
throw new IllegalArgumentException("Input cannot be negative");
}
创建自定义异常
通过继承Exception或RuntimeException类,可以创建自定义异常。

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");
}
异常链
可以通过异常链将底层异常包装为更高层的异常,保留原始异常的上下文。
try {
// 可能抛出异常的代码
} catch (IOException e) {
throw new CustomException("Failed to process data", e);
}
最佳实践
- 优先使用标准异常类,如
IllegalArgumentException、IllegalStateException等。 - 为自定义异常提供有意义的错误信息。
- 避免滥用异常,异常应仅用于处理意外情况,而非控制流程。
- 受检异常用于可恢复的情况,非受检异常(运行时异常)用于编程错误。






