黑马程序员技术交流社区

标题: 异常我们应注意的细节 [打印本页]

作者: 孙天    时间: 2012-4-27 21:09
标题: 异常我们应注意的细节
1  定义功能时,功能中有什么问题,都应该进行预先的处理比如try catch
      如果处理不了,应该通过throws 声明抛出,让调用者进行处理
   2  调用了抛出异常的功能函数,应该进行处理,如果使用trycatch处理的话
      被调用的功能上抛出几个异常,就应该对应几个catch语句
      必须要对多个异常进行针对性的处理。
   3  如果出现多个catch中存在着父类异常的catch,那么这个catch一定放在catch的最后
      通常这种情况在面试很多见
   4  如果函数内抛出异常,那么一定要在函数上声明,否则编译失败
      但是,要注意,如果函数内容抛出的异常是运行时异常,那么函数上不可以用throws声明的
      记住,throws声明异常不仅仅是为了编译通过,更是为了让调用者对其进行处理
   5  如果函数内抛出异常,进行了本功能内部的处理
      但是处理的并不完全,这时应该在异常处理中,继续将异常抛出,在函数上声明,让调用者知道问题的存在
      但是有可能需要将异常进行转换,尽量抛出调用者识别的异常
   6  当子类覆盖父类中带有异常声明的放法时,子类方法只能声明父类的异常或该异常的子类
      如果父类抛出多个异常,那么子类在覆盖时,只能抛出父类异常的子集
      如果父类和接口中的方法没有声明抛出过异常,那么子类的方法覆盖父类方法时,也不能抛出异常
      如果子类中的方法发生了异常,那么子类只能trycatch,不能用throws声明
      如果非要在函数内抛出异常,那么只能抛出runtimeexception,因为这种异常不用在函数上声明





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2