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没有提供对应的异常,需要自定义异常。

竹杖芒鞋轻胜马,一蓑烟雨任平生。 回首向来萧瑟处,也无风雨也无晴。
原文地址:https://www.cnblogs.com/yaobiluo/p/11306420.html