Day7.异常——java入门
1.异常是什么
- 异常指程序运行中出现的不期而至的各种状况:文件不存在,非法参数等。
2.异常的类别
- 检查性异常:最具代表的检查性异常时用户错误或问题引起的异常。
- 运行时异常:运行时异常是可能被程序员规避的异常,运行时异常可以在编译时被忽略
- 错误ERROR:错误不是异常,是脱离程序员控制的问题
3.Error和Exception的区别
- Error通常时灾难性的错误,再程序控制之外,java虚拟机(JVM)一般会选择终止线程;
- Exception通常情况下时可以被程序处理的,并且在程序中应该去处理
4.异常处理机制
- 抛出异常
- 捕获异常
- 异常处理关键字
- try
- catch
- finally
- throw
- throws
5.自定义异常
public class MyException extends Exception{
private int detail;
public MyException(int a){
this.detail = a;
}
@Override
public String toString() {
return "MyException{" + detail +
'}';
}
}
6.实际应用
- 处理运行异常,采用逻辑去合理规避并辅助try-catch处理
- 在多重catch块后面可以加一个catch(Exception)来处理可能会被遗漏的异常
- 对于不确定的代码,也可以加上try-catch,处理潜在的异常
- 尽量去处理异常,切忌知识简单地调用printStackTrace()去打印输出
- 如何处理异常,更具具体的业务需求和异常类型去决定
- 使用finally去释放占用的内存