实现一个用户登录功能
public class LogIn{
private string userName="zmty";
private string password="1234";
public static void main(String[]args){
login("zmty","1234");
}
public void LoginInfo(string userName,string password){
if(!userName.equals(userName)){
//TODO 处理用户名错误
}
if(!password.equals(password)){
//TODO 处理密码错误
}
System.out.println("登陆成功");
}
}
处理用户名错误,密码错误可能需要抛出两种异常,具体方式:
1.自定义异常类,继承Exception或者RunTimeException
2.实现一个带有String类型参数的构造方法。
class UserNameError extends Exception{
public UserNameError(String message){
super ()message;
}
}
class PassWordErroe extends Exception{
public PassWordError(String message){
super ()message;
}
}
此时login代码可以改成:
public static void main(String[]args){
try {
Login.login=new login();
logIn.logInFn("zmty","1234");
}
catch (UserNameError userNameError){
userNameError.printStackTrace();
}
catch PassWordError passwordError{
passwordError.printStackTrace();
}
}
public void loginInfo(String userName,String password) throws UserNameError,PasswordError{
if(!Test.userName.equals(username)){
throw new UserNameError("用户名错误");
}
if(!Test.password.equals(password)){
throw new PassWordError("密码错误");
}
System.out.println("登陆成功");
}
注意事项:
自定义异常通常继承自Exception或者RunTimeException
继承自Exception的异常默认是受查异常
继承自RunTimeException的异常是非受查异常