网站首页 > java教程 正文
package algorithms.com.guan.javajicu;
public class TestDemo{

public static String output = ””;
public static void foo(inti)
{
try{
if (i == 1)
{
throw new Exception();
}
}
catch (Exception e) {
output += “2”;
return ;
} finally {
output += “3”;
}
output += “4”;
}
public static void main(String[] args){
foo(0);
foo(1);
System.out.println(output);
}
}
答案文章结尾给出。
解析如下:
首先是foo(0),在try代码块中未抛出异常,finally是无论是否抛出异常必定执行的语句,
所以 output += “3”;然后是 output += “4”;
执行foo(1)的时候,try代码块抛出异常,进入catch代码块,output += “2”;
前面说过finally是必执行的,即使return也会执行output += “3”
由于catch代码块中有return语句,最后一个output += “4”不会执行。
所以结果是3423
猜你喜欢
- 2024-11-03 初识java—(五十)输出流(java的输出)
 - 2024-11-03 问题:Java的输入输出流包括 【10】 、字符流、文件流、对象流以
 - 2024-11-03 JAVA中如何用字节输入输出流实现文件复制 有配图 有源码
 - 2024-11-03 Java continue语句详解分享~(java的continue)
 - 2024-11-03 Java 控制台输入输出操作记录(java如何从控制台输入一个数)
 - 2024-11-03 高性能 - MySQL 之 Explain 输出分析
 - 2024-11-03 零基础学 python(三)(完全零基础学python)
 - 2024-11-03 《极简Java新手编程之道》6.4.2 continue语句
 - 2024-11-03 Python3 输入和输出(python输入与输出)
 - 2024-11-03 Java异常处理中throw与throws关键字的用法及区别
 
欢迎 你 发表评论:
- 最近发表
 
- 标签列表
 - 
- java反编译工具 (77)
 - java反射 (57)
 - java接口 (61)
 - java随机数 (63)
 - java7下载 (59)
 - java数据结构 (61)
 - java 三目运算符 (65)
 - java对象转map (63)
 - Java继承 (69)
 - java字符串替换 (60)
 - 快速排序java (59)
 - java并发编程 (58)
 - java api文档 (60)
 - centos安装java (57)
 - java调用webservice接口 (61)
 - java深拷贝 (61)
 - 工厂模式java (59)
 - java代理模式 (59)
 - java.lang (57)
 - java连接mysql数据库 (67)
 - java重载 (68)
 - java 循环语句 (66)
 - java反序列化 (58)
 - java时间函数 (60)
 - java是值传递还是引用传递 (62)
 
 

本文暂时没有评论,来添加一个吧(●'◡'●)