throws 用于方法声明处,表示该方法中可抛出的异常类型表。
如public void doSomeThing() throws FileNotFoundException, IOException.......{...}
throw 用于实际抛出异常
运行结果:
Test success
end
try{
AAA...
} catch(Exception e){
BBB...
}finally{
CCC...
}
AAA为被保护执行的代码,如果抛出异常,则剩余部分不再运行
BBB为异常执行代码,一旦捕获到相应类型的异常,则执行该部分代码。e为具体的异常事件(对象)
CCC为无论是否捕获到异常最终都要执行的代码
自定义异常类如下:
import java.util.*;
class MyException extends Exception{
private int status;
public MyException(String msg , int n){
super(msg);
status = n;
}
}
public class Main{
public static boolean doSth() throws MyException{
throw new MyException("Error accurd!" , 2);
}
public static void main(String args[]){
try{
doSth();
System.out.println("Test error");
}catch(MyException e)
{
System.out.println("Test success");
}finally{
System.out.println("end");
}
}
}