会计考友 发表于 2012-8-4 12:19:50

红帽认证辅导:谈自定义Exception进行错误处理

身份验证时,我们常常要返回一个User对象,然而又要知道到底是什么地方错误。我们可以用Exception进行控制!下面是我写的一个例子,你可以加上数据库连接!
public class Login{
    public User validate(String userName,String password) throws InvalidNameException,WrongPasswordException{
      if(userName.equals("java")){
            if(password.equals("java")){
                return new User(userName);
            }else{
                throw new WrongPasswordException();
            }
      }else{
            throw new InvalidNameException();         
      }
      //return null;
    }

    public static void main(String[] args){
      Login l=new Login();
      User user=null;
      try{
            user=l.validate("javac","java");
      }catch(InvalidNameException invalidName){
            System.out.println("The username is invalid!");
      }catch(WrongPasswordException wrongPassword){
            System.out.println("The password is wrong");
      }
      if(!(user==null)){
            System.out.println(user.getUserName());
      }
    }
}
class User{
    private String userName;
    public User(String userName){
      this.userName=userName;
    }
    public void setUserName(String userName){
      this.userName=userName;
    }
    public String getUserName(){
      return userName;
    }
}
class InvalidNameException extends Exception{
    public InvalidNameException(){
    }
}
class WrongPasswordException extends Exception{
    public WrongPasswordException(){
    }
}
页: [1]
查看完整版本: 红帽认证辅导:谈自定义Exception进行错误处理