异常处理
异常继承层次
Throwable
|-Error
致命的错误无法处理
|-Exception
|-IOException
系统资源读取失败等错误
|-RuntimeException(未检异常)
代码程序自身导致的异常
异常类的创建
public class MyException extends Exception{
public MyException(String msg){
super(msg);
}
}
方法可能出现异常时的处理
使用throws 抛出
本身不处理这个异常可以使用throws抛出 交给调用者处理这个问题,但该方法一旦抛出异常不会再往下执行
使用try catch 捕获并处理
出现异常后跳到catch代码块,程序能继续往下执行
//如果本身不处理这个异常可以使用throws抛出 交给调用者处理这个问题
public static void main(String[] args) throws MyException {
//捕获这个异常并且进行处理,程序可以继续往下执行
try{
throw new MyException("Test");
}catch(Exception e){
System.out.println(e.getMessage());
}finally{
System.out.println("异常处理完跳到这里");
}
for(int i = 0;i<10;i++){
if(i==5) throw new MyException("throw");
System.out.println(i);
}
//该行得不到运行
System.out.println("run");
}