是什么?
java异常是Java提供的用于处理程序中错误的一种机制。
分类
Error:错误,由Java虚拟机生成并抛出,包括动态链接失败、虚拟机错误等,程序对其不做处理。
个人理解:这是由硬件等造成的,处理不了
例子:你开车在路上走山塌了,这是你处理不了的
Exception:异常类的父类,其子类对应了各种各样可能出现的异常事件,一般需要用户显示的声明或捕获。
个人理解:这种错误是可以处理的
Runtime Exception:运行时期出的错误,一类特殊异常,其产生比较频繁,处理麻烦,如果显示的声明或捕获将会对程序可读性和运行效率影响很大,因此系统自动检测并将它们交给缺省的异常处理程序。
例子:你开车在路上走,路上有好多的石子,当然你不可能把所有的石子都清理掉再开车过去,直接压过去就可以了。
异常的捕获和处理:
try{
//可能抛出异常的语句
}catch(SomeException1 e)
{
... ... ...
}catch(SomeException2 e)
{
... ... ...
}finally{
... ... ...
}
try代码段包含可能产生,例外的代码try代码段后跟一个或多个catch代码段。
每个catch代码声明其能处理的一种特定类型的异常并提供处理的方法。
finally段的代码无论是否发生异常都有执行。
throw是语句抛出一个异常。
语法:throw(异常对象);
throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)
语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]{......}
public void doA(int a) throws Exception1,Exception3{......}
总结
一个图(异常分类)五个关键字(try catch finally throw throws),捕获错误的时候先逮小的再逮大的。