异常处理:
finally包含哪些处理逻辑:
1.IO流的关闭一般设置在finally
2.数据库连接关闭操着设置在finally中
try-finally-return
1.finally里有return会把try中的return覆盖掉
2.finally中没有return,会保存值,执行finally后返回return中的值,所以值不会变
3.finally中没有return,如果return是基本数据类型或文本字符串,则会返回return保存的值,如果是引用数据类型,则会改变数值,返回在finally中的数据
声明异常
public static void divide() throws Exception{} //多个异常“,”分割
psvm{try{divide}catch{处理}} //对异常进行处理
或psvm throws Exception{} //继续抛出异常
抛出异常(自己定义异常)
throw new Exception() //用try-catch捕获
自定义异常:
1.继承exception类
2.自定义构造方法
3.使用时使用throw new 自定义异常名称
什么时候需要自定义异常 :一般情况下并不需要,但是公司要求明确,或公司要求格式统一,需要自己实现
注:异常父类throwable,(再往上object)