Java学习之异常篇
0x00 前言
计划这几天把Java SE的基础都给总结完,然后开始我的web部分。
0x01 异常概念
说到异常,第一个联系到的可能就是bug,但是我们需要了解一下异常到底是怎么去爆出的。
异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。
在java里面异常分成了一个单独的类,产生异常其实就是创建了一个异常的对象并且抛出异常对象。而抛出异常后处理方式就是直接中断程序。
0x02 异常体系
异常的机制其实是为了我们更好的找到程序中的问题,异常的根类是Throwable,该类下有两个子类,分别是Error和Exception。
一般我们所说的异常就是Excption,一些可以改进代码避免的错误,需要做一些异常处理。
而Error是一些无法解决的报错。
0x03 异常处理
声明异常throws
声明异常是将问题标注出来,报告给调用者。如果方法内通过throw抛出了编译时异常,而没有捕获处理,那么必须通过throws进行声明,让调用者去处理。
异常声明格式:
修
饰符 返回值类型 方法名(参数) throws 异常类名1,异常类名2…{ }
public static void main(String[] args) throws Exception {
}
异常捕获
这种声明只能让程序能够编译成功,如果再程序运行当中,产生了一些不当的操作,就会抛出该异常,程序直接就终止了,我们需要对该异常做出处理。
异常捕获可以对出现的异常做出对应的处理,这时候就可以用到try-catch的方式来捕获异常。
异常捕获定义格式:
try{
...
}catch(异常类型 e){
...
}
完成的定义格式:
try{
...
}catch(异常类型 e){
...
}finally{
...
}
这里try代码块里面代表的是可能产生异常的代码,catch里面则是抛出异常执行的代码,而finally代码块内,无论代码是否抛出异常都会执行的代码。
0x04 结尾
关于异常的内容其实比较少,这里就做一个简单的记录