java异常处理包括声明异常、抛出异常和捕获异常等内容。异常处理的基本形式如下:
method() throws Exception1,Exception2,.....{
......
try{
......//程序块
}
catch(Exception e1){
......//对Exception1进行处理
}
catch(Exception e2){
......//对Exception2进行处理,处理了一部分
throw(e2);//再抛出这个异常给上层调用者
}
......
finally(){
......
}
}
接下来就要讲述与throws与throw关键字有关的声明异常和抛出异常。
声明异常是当方法执行时,声明方法中可能出现的异常。因为任何代码都有可能出现系统错误和运行时异常,所以java不需要在方法中显式声明Error和RuntimeException类以及它们的子类。但是,如果方法出现其他异常,则必须在方法声明中显式声明它们。而方法声名异常是通过关键字throws来声明的。
method() throws Exception1,Exception2,.....//多个异常之间用逗号隔开
抛出异常,在声明的方法中,如果出现异常,可以通过关键字throw来抛出异常的对象,
throw new ConstructorException(); //ConstructorException()是指异常类的构造方法,通过new ConstructorException()来构造一个异常类的对象,再通过throw来抛出这个对象。
要注意的是,一个方法只能抛出方法声明中的异常,或者Error、RuntimeException和两者的子类(即使没有声明也可以)。