推荐答案
在 Java 中,自定义异常可以通过继承 Exception 类或 RuntimeException 类来实现。以下是自定义异常的基本步骤:
// www.javascriptcn.com code example
// 自定义检查型异常
public class MyCheckedException extends Exception {
public MyCheckedException(String message) {
super(message);
}
}
// 自定义非检查型异常
public class MyUncheckedException extends RuntimeException {
public MyUncheckedException(String message) {
super(message);
}
}本题详细解读
1. 自定义检查型异常
检查型异常(Checked Exception)是指在编译时强制要求处理的异常。自定义检查型异常需要继承 Exception 类。例如:
public class MyCheckedException extends Exception {
public MyCheckedException(String message) {
super(message);
}
}在使用时,调用方必须处理或声明抛出该异常:
public void someMethod() throws MyCheckedException {
throw new MyCheckedException("This is a checked exception");
}2. 自定义非检查型异常
非检查型异常(Unchecked Exception)是指在编译时不强制要求处理的异常,通常继承自 RuntimeException。自定义非检查型异常的方式如下:
public class MyUncheckedException extends RuntimeException {
public MyUncheckedException(String message) {
super(message);
}
}在使用时,调用方可以选择处理或不处理该异常:
public void someMethod() {
throw new MyUncheckedException("This is an unchecked exception");
}3. 自定义异常的最佳实践
- 命名规范:自定义异常类的名称应以
Exception结尾,以便清晰地表明它是一个异常类。 - 提供有意义的构造方法:通常至少提供一个带有
String参数的构造方法,用于传递异常信息。 - 避免过度使用自定义异常:只有在标准异常无法满足需求时,才考虑自定义异常。
通过以上方式,可以在 Java 中灵活地定义和使用自定义异常。