常见的错误处理方式有以下几种:
1.忽略问题--最笨的方法;
2.检查可能发生的问题,在问题发生时异常终止程序;
3.检查可能发生的问题,捕获错误,然后在问题发生时解决这个问题;
4.抛出异常--在面向对象的语言中很常见
在绝大多数的时候我们总希望我们的代码能够继续运行下去,因此,3,4就成了常见的选择.很多面向对象的语言提供了抛出异常的机制,包例如ava中
就提供了一个IOException来抛出异常.但这并不是一个好主意,因为它给排错带来了麻烦.
我们通常用try{}catch{};来处理java中可能发生的异常.每一个try都对应着一个或多个catch.下面是一个基本的示例
import java.io.*;
public class IOmistake{
public static void main(String []args){
FileWriter fw=null;
try{
fw=new FileWriter("sds.txt");
//在外引用,在try内初始化
//因为这个代码块内的变量无法在其余的代码块中使用
fw.write("cbuf");
}
catch(IOException e){
System.out.println(e.toString());
}
finally{
//此处的语句也需要处理异常
try{
//只有当对象fw存在时才可以被关闭
if(fw==null)
fw.close();
}
catch(IOException e){
System.out.println(e.toString());
}
}
}
}
java并没有限定只能进行一种选择,因此我们可以使用多种处理方式.就以上述代码来说,如果你觉得还可能有你未发现的错误,你也可以再加上抛出异常的处理方式.当catch包中无法处理的异常时,代码就会抛出异常.