Java进阶教程:异常处理
前往不要以为懂try...catch..finally就懂异常了!
异常
什么是异常
Java异常体系
- Throwable:Java语言中所有错误和异常的超类,一切可以抛出的东西都是基于此。
- Error:代指严重问题,大到你无法处理
- VitrualMachineError:虚拟机错误
- AWTError:
- Exception:
- CheckedException:检查性异常,例如IO异常/SQL异常,特点不管你愿不愿意,都需要写try...catch进行处理。
- UncheckedException:也称运行时异常,出现这种异常时由Java虚拟机接管,异常由系统一层一层向上抛,直到遇到处理代码。如果没有遇到,直到到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,那么这整个程序也就退出了。
- Error:代指严重问题,大到你无法处理
注意:层级关系表示继承。
我们再举个简单例子来说明一下检查异常和运行时异常。