文档章节

try_catch_finally的注意事项

首席吹牛官
 首席吹牛官
发布于 2015/05/22 12:56
字数 199
阅读 1
收藏 0

                      今天考java有一条题目我错了,回来试试,才知道我的java还有好多细节没注意。
        public class Test {
public static String str = "";
public static void fun(int i) {
try {
if(i == 1) {
throw new Exception();
}
str += "1";

} catch (Exception e) {
// TODO: handle exception
str += "2";
return;
}finally{

str += "3";
}
str += "4";
}
public static void main(String[] args) {
fun(0);
fun(1);
System.out.println(str);
}


}

问最后打印的结果,我的答案是1342,可是实际是13423。
 我的错误时认为在catch中return之后,就从此处应该退出这个方法了,可是实际是你必须还得把finally中的代码执行一遍。


还有注意的是,try块的时候,有异常抛出,则从抛出异常处跳出try块,开始查找匹配的catch。

我的四分啊.....可是这道题很不错!

© 著作权归作者所有

首席吹牛官
粉丝 9
博文 368
码字总数 191938
作品 0
闵行
程序员
私信 提问
Java开发手册(四):注释与异常处理

一、注释 1. 项目 项目建议提供注释,说明项目的作用,核心逻辑或需要注意的特别事项,方便其他人快速对项目形成整体了解。添加方式有两种: 在根目录下创建README.md或README.txt 在根目录下...

思与学
2017/11/07
0
0
Java中的Exception异常 自定义异常

public class Exception extends Throwable Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。 public class RuntimeException extends Exception Runt...

Sandy_wu
2013/08/09
154
0
final、finally、finalize有什么不同?

final可以用来修饰类、方法、变量,分别有不同的意义。final修饰的class不可以被继承;final修饰的变量不可以修改;final修饰的方法不可以重写。 finally是Java保证重点代码一定要被执行的一...

琚建飞
03/12
0
0
源码分析(三)-AutoCloseable源码分析

AutoCloseable 该接口用于try-with-resources语法糖提供支持,用于自动关闭资源作用 类型:接口 方法:close(); 详解: close():用于自动关闭资源的时候需要进行调用该方法,该方法声明中设置...

lonecloud
2018/05/28
17
0
有return的情况下try catch finally的执行顺序(最有说服力的总结)

结论: 1、不管有木有出现异常,finally块中代码都会执行; 2、当try和catch中有return时,finally仍然会执行; 3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,...

Atom_me
2015/10/23
31
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
1K
12
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
16
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部