在 Java 中你可以自定义异常。编写自己的异常类时需要记住下面的几点。
1.所有异常都必须是 Throwable 的子类。
2.如果希望写一个检查性异常类,则需要继承 Exception 类。
3.如果你想写一个运行时异常类,那么需要继承 RuntimeException 类。
4.习惯上,自定义异常类应该包含2个构造器:一个是默认的构造器,另一个是带有详细信息的构造器。
可以像下面这样定义自己的异常类:
/**IllegalAgeException:非法年龄异常,继承Exception类*/
class IllegalAgeException extends Exception {
//默认构造器
public IllegalAgeException() {
}
//带有详细信息的构造器,信息存储在message中
public IllegalAgeException(String message) {
super(message);
}
}
测试异常:
import java.util.Scanner;
public class TestSexException {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入您的性别:");
String gender=input.next();
if("男".equals(gender)||"女".equals(gender)){
System.out.println("性别录入正确");
}else{
try {
throw new SexException("性别只能是男或者女");
} catch (SexException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.err.println(e.getMessage());
}
}
}
}
运行效果:
注:
1.要避免使用异常处理代替错误处理,这样会降低程序的清晰性,并且效率低下。
2.处理异常不可以代替简单测试---只在异常情况下使用异常机制。
3.不要进行小粒度的异常处理---应该将整个任务包装在一个try语句块中。
4.异常往往在高层处理。
来源:CSDN
作者:赵广陆
链接:https://blog.csdn.net/ZGL_cyy/article/details/104247805