Java异常发生时程序的执行顺序

发表于:2014-7-02 09:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:北飞孤雁    来源:51Testing软件测试网采编

  一些基础知识:
  1.try代码段包含可能产生例外的代码;
  2.try代码段后跟有一个或多个代码段;
  3.每个catch代码段声明其能处理的一种特定的异常并提供处理的方法;
  4.当异常发生时,程序会终止当前的流程,根据获取异常的类型去执行相应的catch代码段,有多个符合条件的catch时,只执行第一个;
  5.finally段的代码无论是否发生异常都会执行。
  6.在一个try语句块中,基类异常的捕获语句不可以写在子类异常捕获语句的上面。
  看一个例子:
/**
* @author Lansine
*
*/
public class T1 {
/**
* @param args
*/
public static void main(String[] args) {
String s = "1";
try {
s = "2";
System.out.println(s);
if (s == "2")
throw new Exception("h");
} catch (Exception e) {
s = "3";
System.out.println(s);
} finally {
s = "4";
System.out.println(s);
}
s = "5";
System.out.println(s);
}
}
  输出的结果是2,3,4,5    (这里的逗号只用于显示)。上述语句非常清楚,但是在上述结构中加上return,就变得有些复杂了,如
/**
* @author Lansine
*
*/
public class T2 {
/**
* @param args
*/
public static void main(String[] args) {
String s = "1";
try {
s = "2";
System.out.println(s);
return;
} catch (Exception e) {
s = "3";
System.out.println(s);
} finally {
s = "4";
System.out.println(s);
}
s = "5";
System.out.println(s);
}
}
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号