1、异常
指的是程序运行过程中出现的一些非正常的状况:如网络连接失败,非法参数等等;
主要分为三大类:
1)检查性异常:一般是用户错误或者问题导致,这个无法预见,所以有了测试;
2)运行时异常:程序运行时出现的异常;
3)错误:这个是致命的,一般不是程序员造成,如:栈溢出,与JVM相关
2、异常处理框架
Error(分为VMError虚拟机错误、AWTError GUI错误)
Throwable:
Exception(分为IOException、RuntimeException)
Error:Error类对象由Java虚拟机生成并抛出,大多数情况下与编码者的操作无关;
如:当JVM不在继续执行操作所需要的内存资源时,会出现OutOfMemeryError错误,通常出现这些异常后,JVM会选择线程停止;
Exception:在它的分支中有一个重要的子类RuntimeException(运行时异常)
这些异常通常有程序逻辑错误引发,所以应从逻辑角度去避免这些异常的出现,是可以在编码阶段解决的问题;
两者的区别:
Error是致命性的错误,程序无法进行控制,通常出现这种情况是,JVM会终止线程
Exception通常是可以被程序处理的,可以避免和解决的;
3、异常处理机制
1)抛出异常
可以通过直接将异常抛出的形式进行抛出反馈,也可以在方法声明上写throws关键字,意为向上抛
2)捕获异常
异常处理的5个关键字
try、catch、finally、throw(动作)、throws(多用在方法声明中)
4、异常的范围
Throwable > Error / Exception
5、idea中捕获的快捷键
首先选中要处理的代码,然后按下ctrl + alt + t,会将选中的代码包裹起来进行处理
6、自定义异常
只要继承Exception类即可达到自定义异常的目的