java异常
异常是指在运行过程中发生意外,中断指令的正常执行
异常一般分为:
- Error: 错误 Error 类指的是系统错误或运行环境出现的错误,这些错误一般是很严重的错误,即使捕捉 到也无法处理,由 Java 虚拟机生成并抛出,包括系统崩溃、动态 链接失败、虚拟机错误等,在 Java 程序中 不做处理。
- Exception: 异常 Exception 类则是指一些可以被捕获且可能恢复的异常情况,是一 般程序中可预知的问 题。对于异常可分为两类:
1.运行时异常 :系统检测,用户的java程序可以不做处理,系统将他们交给缺省的异常处理程序
2.非运行时异常,必须处理,否则报错,无法继续
异常处理方式关键字:(针对编译器异常)
try catch fianlly throw throws
Try:
1)一个try块对应一个或多个多个catch块
2)在try中如果有A,B,C三个异常
3)如果A发生异常,B,C将不执行,try块避免嵌套
Catch:
捕获异常的顺序跟catch语句有关,当捕获到一个异常时,剩下的catch语句就不进行捕获,所以先安排子类,再安排父类
Finally:
无论怎样,finally语句都会执行
Throw:
是语句抛出的一个异常,一般是在代码块的内部
Throws:
是方法可能抛出异常的声名
二者比较:1)throws出现在方法函数头;而throw出现在函数体
2)throws表示出现异常的可能性,throw则是抛出了异常,执行throw则一定抛出了某种异常对象
3)两者都不会由函数去处理异常,都是由函数的上层调用处理