在需要的情况下,可以通过扩展Exception类或RuntimeException类来创建自定义的异常(一般是扩展Exception类)。异常类包含了和异常相关的信息,这有助于负责捕获异常的catch代码块,正确地分析并处理异常
例如:我们任务在系统中用户要登录的账号和密码不匹配就是一种异常情况,但是JDK中并没有定义这种异常,所以我们可以进行自定义。
例如: 只需继承Exception即可.一般还会加入和父类中匹配的构造器
public class UserPasswordException extends Exception{
public UserPasswordException() {
super();
}
public UserPasswordException(String message, Throwable cause, boolean enableSuppression,
boolean writableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace);
}
public UserPasswordException(String message, Throwable cause) {
super(message, cause);
}
public UserPasswordException(String message) {
super(message);
}
public UserPasswordException(Throwable cause) {
super(cause);
}
}
例如:
注:异常是可以在代码中主动抛出的
public void login(String password)throws UserPasswordException{
if("123".equals(password)){
throw new UserPasswordException("密码错误");
}
}
将来login方法的调用者负责处理这个异常