异常
异常的体系结构
Error:是指代码运行时发现的错误,而这种错误是要程序员自己排查,系统解决不了的
Exception:分为运行时异常和编译时异常,运行时异常可以不用解决,jvm会替你解决,而编译时异常最简单的方法是通过throw上去处理
在java中异常处理的主要的5个关键字:throw,try,catch,final,throws
throw
抛出异常,程序员可以主动抛出异常,一般写在程序内部
throws一般写在程序的声明
try catch
捕获抛出的异常并对其进行处理
先把可能有异常的代码放进try的内部,然后要把代码可能出现的异常类型放在catch里面,catch要捕获到对应的异常类型,如果放的不是对应的异常类型,它捕捉不到最后还是会交给jvm处理
如果在try内部如有两个代码,其中第一条代码出现异常,内部其他的代码不会被执行,try如果抛出多个异常,就要使用多个catch去接收
printStackTrace可以打印栈上到异常信息同时定位到异常的代码
finally
不管是否有异常抛出都会执行,一般用于善后工作,关闭我们的资源
自定义异常
先创建需要自定义异常的类,让他去继承我们的runtimeexceptiion异常,然后在重写我们里面的方法,但是这里不建议直接写exception,因为exception是受查异常
然后在进行判断,在方法后面制动抛出我们的异常的名字,这样方便我们知道要抛出一些什么样的异常,在使用try catch来定位我们异常的位置
算数异常
空指针异常
数组越界异常