一.异常处理概述
无论是那个程序员(包括本公举),一般情况下写的代码都会出现一些异常。从一开始学的C语言开始,我们就会使用if…else…来控制这些异常。异常处理又叫做错误处理,它能够避免一些程序运行时出现的意外情况。java中的异常处理的关键字有try{}catch{}、finally等。异常处理增强了代码的可读性,方便程序员理解代码。
二.异常来源
异常类来源于Java语言本身定义的基本异常类型和用户通过继承Exception类或者其子类自己定义的异常。
在JDK文档中查找Exception类
异常的对象同样有两个来源,一是Java运行时环境自动抛出系统生成的异常,而不管你是否愿意捕获和处理,它总要被抛出!比如除数为0的异常。二是程序员自己抛出的异常,这个异常可以是程序员自己定义的,也可以是Java语言中定义的,用throw 关键字抛出异常,我们可以使用这些异常来提供一些信息。
三.异常处理的关键字及其用法
1.try catch语句
try{
//此处写可能出现异常的代码
}catch{
//此处写处理异常发生的代码
}
一个try语句可以对应多个catch,如果try执行成功后,就不执行catch。如果catch匹配到一个,则其他的catch不执行。
2.final语句
使用try{}catch{}语句的时候,如果抛出了一个异常,那么后面的代码程序就不执行了,转而去执行异常处理程序,所以我们用finally语句,finally语句是什么时候都会执行的语句。
基本语法如下:
try{
//可能发生异常的代码
}catch{
//异常处理方法
}
finally{
//一定会被执行的代码
}
3.throw、throws语句
对于处理不了的异常或者需要转型的异常,要通过throws语句进行抛出。
基本语法:
public void test1() throws MyException{
...
if(....){
throw new MyException();
}
}
throw用来抛出一个异常,在方法体内。语法格式为:throw 异常对象。
throws用来声明方法可能会抛出什么异常,在方法名后,语法格式为:throws 异常类型1,异常类型2…异常类型n。