JavaSE进阶

9.5 自定义异常

在程序中,可能会遇到任何标准异常类都没能充分的描述清楚的问题,这种情况下可以创建自己的异常类。

  • 从Exception类或者它的子类派生一个子类即可
  • 习惯上,自定义异常类应该包含2个构造器:一个是无参构造,另一个是带有详细信息的构造器
  • 自定义的异常只能通过throw抛出。
  • 自定义异常最重要的是异常类的名字,当异常出现时,可以根据名字判断异常类型。

package com.atguigu.exception;

public class TestMyException {

public static void login(String username,String password) throws WrongUsernameOrPassWordException{

if(!("admin".equals(username) && "123".equals(password))){

throw new WrongUsernameOrPassWordException("用户名或密码错误");

}

System.out.println("登录成功");

}

}

class WrongUsernameOrPassWordException extends Exception{

private static final long serialVersionUID = 1L;

public WrongUsernameOrPassWordException() {

super();

}

public WrongUsernameOrPassWordException(String message) {

super(message);

}

}