您的位置:首页 > 编程语言 > Java开发

java异常抛出时间顺序

2013-01-24 23:38 197 查看
1、当前方法抛出异常时(交给java虚拟机执行异常处理)

public class ExceptionTest5 {
public void method(String str) throws MyException{
if(str == null){
throw new MyException("传入的字符串参数不能为null");
}
else{
System.out.println(str);
}
}

/*
* 根据多态,也可以抛出 Exception类型的异常:
* 1) throws Exception
* 2) 捕获也可以这样写 catch(Exception e)
*/
public static void main(String[] args) throws MyException{

try{
ExceptionTest5 test = new ExceptionTest5();
test.method(null);
}catch(MyException e){
e.printStackTrace();
}
finally{
System.out.println("异常处理完毕");
}
System.out.println("程序执行完毕");

}
}


执行结果为:

异常处理完毕

程序执行完毕

com.ahuier.exception.MyException: 传入的字符串参数不能为null at com.ahuier.exception.ExceptionTest5.method(ExceptionTest5.java:6) at com.ahuier.exception.ExceptionTest5.main(ExceptionTest5.java:22)

2、当前方法不抛出异常

public class ExceptionTest5 {
public void method(String str) throws MyException{
if(str == null){
throw new MyException("传入的字符串参数不能为null");
}
else{
System.out.println(str);
}
}

/*
* 根据多态,也可以抛出 Exception类型的异常:
* 1) throws Exception
* 2) 捕获也可以这样写 catch(Exception e)
*/
public static void main(String[] args) {

try{
ExceptionTest5 test = new ExceptionTest5();
test.method(null);
}catch(MyException e){
e.printStackTrace();
}
finally{
System.out.println("异常处理完毕");
}
System.out.println("程序执行完毕");

}
}


执行结果:

com.ahuier.exception.MyException: 传入的字符串参数不能为null

at com.ahuier.exception.ExceptionTest5.method(ExceptionTest5.java:6)

at com.ahuier.exception.ExceptionTest5.main(ExceptionTest5.java:22)

异常处理完毕

程序执行完毕
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐