六、自定义异常类
1. 定义一个类继承 异常类
(1) 定义异常类如果为运行时异常,则需要继承 RuntimeException class CheckedPasswordException extends RuntimeException{}
(2) 定义异常类如果为非运行时异常,则需要继承 Exception class
CheckedPasswordException extends Exception{}
2. 提供两个构造方法
(1) 一个无参数的构造方法
(2) 有参数的构造方法:带有字符串类型参数的构造方法
public CheckedPasswordException(String message){super(message);}
// 自定义异常类
class CheckedPasswordException extends Exception{public CheckedPasswordException(){}public CheckedPasswordException(String message){super(message);}
}
3.示例
public class TextMyException8 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请输入密码:");String password = sc.next();checkedPassword(password);}public static void checkedPassword(String password) {try{if(password.length()!=6){throw new CheckedPasswordException("密码必须是6位!!!");}System.out.println("密码长度合法");}catch (CheckedPasswordException e){e.printStackTrace();System.out.println(e.getMessage());}}
}
//自定义异常类
class CheckedPasswordException extends Exception{public CheckedPasswordException(){}public CheckedPasswordException(String message){super(message);}
}
七、方法的覆盖【终极版 -- 企业面试重点+企业级开发重点-细节处理+考试重点】
1. 子类的方法名、形参列表、返回值类型 和 父类相同
2. 子类的访问修饰符和父类相同或是比父类更宽
3. 子类不能抛出比父类更多、更宽的异常