一个运行时异常如果被抛出。那么无论你处理不处理,之后的代码都不会被执行。

2013-09-07 12:35:29
是如此么?
而编译时异常,如果你捕获了并进行了处理,那么程序能够继续执行下去??
...全文
531 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
2013-09-07
  • 打赏
  • 举报
回复
如果在catch之前,还有其他的语句呢。

//.....
try{
if(flag)
throw RuntimeException("run wrong");

System.out.println("after throw");   //run???
}
catch(RuntimeException e)
{
   System.out.println(e.getMessage());
}
末日哥 2013-09-07
  • 打赏
  • 举报
回复
	public static void main(String[] args){
		try {
			int i = 9/0;
		}catch(ArithmeticException e) {
			e.printStackTrace();
		}
		System.out.println("还在执行...");
	} 
yxinf 2013-09-07
  • 打赏
  • 举报
回复


try的代码块在执行到出异常的时候不会再执行该代码块的其他代码;catch的代码块在出异常的时候才会执行,例如可以加一些日志之类的输出,方便故障的排除和定位;finally的代码块无论是不是出异常了都会执行的,
蟹道人 2013-09-07
  • 打赏
  • 举报
回复
引用
如果抛出一个运行时错误,finally也会执行么? Java code ? 1 2 3 4 5 6 7 8 9 10 //..... try{ if(flag) throw RuntimeException("run wrong"); System.out.println("after throw"); //run??? } finally { System.out.println("over"); }
finally中写的语句是一定会执行的!无论try中是否有错,它都执行一次。所以把你必须要执行的代码放到finally块中。。
road_16 2013-09-07
  • 打赏
  • 举报
回复
引用 3 楼 liboshi123 的回复:
catch之前的语句不会执行,捕获异常后 finally语句块会执行
final里边的语句无论如何都会执行
2013-09-07
  • 打赏
  • 举报
回复
引用 3 楼 liboshi123 的回复:
catch之前的语句不会执行,捕获异常后 finally语句块会执行
如果抛出一个运行时错误,finally也会执行么?
//.....
try{
if(flag)
throw RuntimeException("run wrong");
 
System.out.println("after throw");   //run???
}
finally
{
System.out.println("over");
}
  • 打赏
  • 举报
回复
catch之前的语句不会执行,捕获异常后 finally语句块会执行

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧