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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小川行 中级黑马   /  2015-3-22 01:25  /  1349 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

处理异常的原理:
1)处理方式有两种:try 或者 throws。
2)调用到抛出异常的功能时,抛出几个,就处理几个。(一个try对应多个catch)
3)多个catch,父类的catch放到最下面。
4)catch内,需要定义针对性的处理方式。不要简单的定义printStackTrace。
5)当捕获到的异常,本功能处理不了时,可以继续在catch中抛出。
        方式如下:        try
                               {
                                        throw new AException();
                                }
                               catch (AException e)
                               {
                                        throw e;
                               }
6)如果该异常处理不了,但并不属于该功能出现的异常。可以将异常转换后,在抛出和该功能相关的异常;或者异常可以处理,需要将异常产生的和本功能相关的问题提供出去,让调用者知道,并处理。也可以将捕获异常处理后,转换新的异常。比如,汇款的例子。处理异常的格式入下:
                                try
                                {
                                        throw new AException();
                                }
                                        catch (AException e)
                                {
                                        // 对AException处理。
                                        throw new BException();
                                }       
异常的注意事项:
在子父类覆盖时:子类抛出的异常必须是父类的异常的子类或者子集;如果父类或者接口没有异常抛出时,子类覆盖出现异常,只能try不能抛。

5 个回复

倒序浏览
总结很好,对我们初学者很有帮助
回复 使用道具 举报
是不是也总结上throw和throws用法的不通点呢。。。
回复 使用道具 举报
够详细  花不少时间吧
回复 使用道具 举报
总结的很好,很详细。
回复 使用道具 举报
赞一个,好帖
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马