妖碧落

导航

finally

finally  中的代码一定会执行, 除非在finally之前 JVM退出了

  一般用来释放资源,IO流关闭流  DB中关闭数据库的连接

  一定会执行,即使return了,也会执行

 

如果catch里面有return语句,请问finally的代码还会执行吗?如果会,请问是在return前还是return后。

  return 会先建立返回盒子,再看finally中是否有需要执行的代码

 

 

异常注意事项
  * a:子类重写父类方法时,子类的方法必须抛出相同的异常或父类异常的子类。(父亲坏了,儿子不能比父亲更坏)
  * b:如果父类抛出了多个异常,子类重写父类时,只能抛出相同的异常或者是他的子集,子类不能抛出父类没有的异常
  * c:如果被重写的方法没有异常抛出,那么子类的方法绝对不可以抛出异常,如果子类方法内有异常发生,那么子类只能try,不能throws
* B:如何使用异常处理
  * 原则:如果该功能内部可以将问题处理,用try,如果处理不了,交由调用者处理,这是用throws
* 区别:
  * 后续程序需要继续运行就try
  * 后续程序不需要继续运行就throws

* 如果JDK没有提供对应的异常,需要自定义异常。

 

posted on 2019-08-05 23:41  妖碧落  阅读(193)  评论(0编辑  收藏  举报