欢迎来到天天文库
浏览记录
ID:40575536
大小:21.43 KB
页数:5页
时间:2019-08-04
《throws-try...catch》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、异常—注册登陆异常1)什么是异常?异常是行为(方法、过程)中的意外结果2)一个方法如果抛出来异常,这个方法就是必须声明异常的抛出3)异常的声明:在方法上声明的意外结果如:Userregist(Stringemail,Stringpwd)throwsUserExistException{}4)异常类继承的是Exception(代码集的可操作异常)人为的可以处理5)抛出异常的方法有两种,但不论哪一种,都需要对异常进行处理a、直接抛出异常throws。。。Exceptionb、try{}catth(....Exceptione){e.pr
2、int....}6)处理异常的方式依赖于业务的逻辑,可灵活处理7)如果代码在执行过程中出现了异常,异常之后的代码将不在执行New一个集合hashmap,声明id,创建两个异常用户已存在类,密码错误用户不存在类,在usermanager类下写一个方法集合中是否包含email,抛异常,异常为存在用户。,将类User中的id++,email,sqw,传入newuser,集合放入key,value返回newuser,创建方法,在写一个方法集合中不包含用户email,抛异常声明不存在将集合中的email传入user,将数据传入put方法,判断
3、是否密码正确,抛异常输出密码错误,返回账户user。publicclassUserManager{1声明一个map集合,用于存储Uses用户对象,key是用户的email,value可以是User对象privateMapusers=newHashMap();privateintid=1;id起始值为1/**声明方法:该方法根据email和pwd注册对象*如果成功,则返回注册的对象*如果email重复就抛出异常,表示已经注册过**/创建一个方法“注册”publicUser返回User
4、regist方法名注册(Stringemail,Stringpwd)throwsUserExistException{//异常的声明if(users.containsKey(email)){该用户是否包含KEY值映射的email//抛出异常的声明thrownewUserExistException("该用户已存在,为:"+email);throw是在方法处理时使用,throws是在方法前使用new了UserExistException这是个对象,就是调用了他的无参构造器,他的有参构造器把无参覆盖了,写有参,if(users.cont
5、ainsKey(email))成立写已存在输出"该用户已存在,为:"+email)}如果没有包含就是新注册的,要新注册一个new一个新的用户,id++就是起始值加一,然后将users用户放入集合中,email和newUser,返回newuserUsernewUser=newUser(id++,email,pwd);users.put(email,newUser);returnnewUser;}//登录方法:用户或用户名错误时抛出异常publicUserlogin(Stringemail,Stringpwd)throwsEmailOr
6、PwdException{if(!users.containsKey(email)){users不包含此用户email就代表没有这个用户thrownewEmailOrPwdException("查无此用户!");}Useruser=users.get(email);将users中的key值传入给user并输出email中的pwd密码如果user用户密码与注册时密码不同则报异常,否者输出if(!user.pwd.equals(pwd)){thrownewEmailOrPwdException("密码不对");}returnuser;}
7、}//该类表示“用户注册过的异常”,一定继承于Exception类//用于表示“注册时可能已经注册过的异常”classUserExistExceptionextendsException{publicUserExistException(Stringmessage){super(message);将错误信息给Exception}}//该类表示“用户名或密码错误异常”,一定要继承于Exception类//用于表示“登陆时,用户名或密码输入错误异常”classEmailOrPwdExceptionextendsException{pub
8、licEmailOrPwdException(Stringmessage){super(message);将错误信息给Exception}}异常类测试publicstaticvoidmain(String[]args)throwsEx
此文档下载收益归作者所有
点击更多查看相关文章~~