[toc]
什么是异常
程序在运行过程中,遇到的问题,统称为异常.文件找不到,网络连接失败,非法参数等等…
- Error灾难性错误,会由JVM虚拟机抛出,大多数错误与代码编写者操作无关,发生时,JVM虚拟机会选择线程终止
- Exception检查性异常:最具代表性是用户问题和错误引起的异常,如果不修改将会无法编译.
- Exception运行时异常:运行时异常是可以被避免的,运行时异常可以在编译时被忽略,运行时才能被发现.
异常体系结构
Java异常处理机制
-
异常处理五个关键字
try,catch,finally,throws,throw -
finally 处理善后工作,关闭IO流,关闭占用资源
-
try 代码块,里面放测试代码
-
catch能写多个层层递进,最大的异常写到最下面
-
throws方法上抛出
-
throw在方法里抛出
-
主动抛出异常用 在方法中,假设方法中处理不了的异常在方法上抛出异常
快捷键:ctrl+alt+t自动生成
处理异常
try{
代码块
}catch(想要捕获的异常类型 ){
}finally{
}
自定义异常
内部的异常类可以描述出现的大部分异常情况,除此之外用户可以自定义异常类.只需要继承Exception就可以了
快捷键:双击shift弹出搜索框
快捷键:alt+enter解决大多数红线问题
总结
- 处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理
- 多重catch后面加一个catch(Exeption)来处理遗漏的异常
- 不确定的代码加上try-catch,处理潜在的异常
- 尽量根据不同的业务需求和异常类型去处理异常
- 尽量添加finally语句块去释放异常