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

© zhoubinjian 金牌黑马   /  2016-4-1 14:08  /  313 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

finally代码块:
定义一定执行的代码。通常用于关闭资源

记住一点:catch是用于处理异常,如果没有catch就代表异常没有被处理过,如果该异常是检测时的异常,那么必须声明。

覆盖时的异常特点
异常在子父类覆盖中的体现:
1.子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类。
2.如果父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类的子集。
3.如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,也不可以抛出异常。如果子类方法发生了异常,就必须要进行try处理,绝对不能抛。

当捕获到的异常,本功能处理不了时,也可以继续在catch中抛出
try

{
        throw new AException();
}
catch(AException e)
{
       
        throw e;
}

如果该异常处理不了,但并不属于该功能出现的异常,可以将异常转换后,再抛出和该功能相关的异常。

或者异常可以处理,当需要将异常产生的功能和本功能相关的问题提供出去,让调用者知道,并处理,也可以将捕获异常处理后,转换新的异常。
如:try

{
        throw new AException();
}
catch(AException e)
{
        //对AException处理。
        throw new BException();
}

1 个回复

倒序浏览
好帖子,收藏
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马