现实生活中也有异常,比如地震,火灾就是异常。也可以提取出类和对象,例如:
地震是类:512大地震、唐山大地震就是对象。
空指针异常是类:发生在第52行的空指针异常、发生在第100行的空指针异常就是对象。
也就是说:在第52行和第100行发生空指针异常的时候,底层一定分别new了一个NullPointerException对象。在程序中异常是如何发生的?
自定义异常
* 自定义异常两步:
* 第一步:编写了类继承RuntimeException或者Exception
* 第二步:提供两个构造方法,一个无参数的,一个带有String参数的。并且在构造方法中调用super(String)
*/
public class IllegalNameException extends Exception{
public IllegalNameException() {
}
public IllegalNameException(String message) {
super(message);
}
}
public void save(String name, int age) throws IllegalNameException, IllegalAgeException {
System.out.println("用户["+name+"]的信息正在保存....");
if(name.length() < 6 || name.length() > 12){
throw new IllegalNameException("无效名字异常,名字长度应该在[6-12]位之间");
}
if(age < 18){
throw new IllegalAgeException("无效年龄异常,年龄需要大于18岁");
}
System.out.println("用户["+name+"]的信息保存成功!");
}