A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lgdbest 中级黑马   /  2016-3-16 19:26  /  461 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在方法内,处理异常的方式:
  
  1.在方法内,可以监控,并捕捉异常,但不建议"处理异常",建议将异常"抛出",抛给调用者;
  2.将异常抛给调用者:
                  1).使用throws声明抛出异常(常见--必须掌握):
                          1>在方法声明处,形参列表之后,使用关键字:throws;
                          2>throws后可以跟若干多的"异常名称",可以是一个,可以是多个,如果多个,中间用逗号隔开;
                        3>如果方法内,没有异常产生,程序正常执行;
             如果方法内,发生了异常,而且也声明了"抛出(thorws)"此类型异常,那么JVM将把这个异常对象"抛给"调用者;
           4>如果方法声明抛出的是:
                           A.运行时异常(RuntimeException及其子类异常):
                                   1).调用者可以捕获,也可以不捕获;
                                   2).如果不捕获,而且出现异常了,JVM仍然打印到控制台,然后结束程序;
                                          B.非运行时异常(除RuntimeException以外的其它异常):
                                                  1).调用者必须处理,要么继续抛出,要么try...catch...捕获,否则编译错误
                  2).使用throw抛出异常(理解即可,能掌握最好):
                          1>用在方法体内,直接抛出一个"异常对象"--此异常对象可以是自己实例化的,也可以由JVM实例化的;
                          2>如果方法内,抛出的是:
                                          A.运行时异常(RuntimeException及其子类异常):
                                                  1).方法体可以不声明throws;
                                                  2).而且调用者可以不捕获;
                                          B.非运行时异常(除RuntimeException以外的其它异常):
                                                  1).方法声明处必须显示的使用throws声明抛出此异常;
                                                2).调用方必须处理,否则编译错误;
  3.throws和throw的区别:
                  1.throws是用在"方法声明处";
                  throw是用在方法体内;
                  2.throws是声明"可能会抛出某些异常";
                    throw是"真实的抛出一个异常对象";
                3.throws后面跟的"异常类名称",可以有多个;
                  throw后面跟的是"异常对象",只能有一个;
4.如何处理异常:
                  1).在main方法内,或者"视图层",最好不要抛出了,使用try...catch...处理,并且要给用户一个很好的提示;
                  2).在其它方法内,建议不要处理异常,而是抛给调用者;

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马