Java中的异常处理(二)

时间:2024-09-28 18:04:02

1.finally

package second;
public class C {
public static void main(String[] args){
String name = null;//定义一个null的字符串
int name_len = 0;
/**
* 异常前的代码块会被执行
* 异常后的代码块不会被执行,try会直接寻找异常处理catch
*/
try{
System.out.println("我还没异常!");
name_len = name.length();//由于name为null,这里程序会爆出NullPointerException的异常
System.out.println("我还没异常!");
}catch(NullPointerException e){//捕获异常
System.out.println("程序异常了!");
}catch(Exception e){
System.out.println(e.getStackTrace());
}finally{//一个try中只能有一个finally,并且必须在最尾部添加
System.out.println("管你一部一场我都要执行");
}
}
}

2.异常的throw处理

package second;

public class AAA {
static void method() throws ClassNotFoundException{
try{
Class.forName("");
}catch(ClassNotFoundException e){
System.out.println("100");
throw e;
}
}
public static void main(String[] args){
try{
method();
}catch(ClassNotFoundException e){
System.out.println("1");
}
}
}