try-catch易错分析
2024-10-21 11:31:29
/*
* @author YAM
*/
public class Test01 {
public static void main(String[] args) {
try {
showExce();
System.out.println("error1");
} catch (Exception e) {
System.out.println("error2");
}
System.out.println("error3");
}
public static void showExce() throws Exception{
throw new Exception();
}
}
不管有没有出现异常,finally 块中代码都会执行;
当 try 和 catch 中有 return 时,finally 仍然会执行;
finally 是在 return 后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管 finally 中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在 finally 执行前确定的;
finally 中最好不要包含 return,否则程序会提前退出,返回值不是 try 或 catch 中保存的返回值。
本题中try出现异常,进入catch,而catch未产生异常,程序继续执行,输出结果为
error2
error3
最新文章
- express html模板项目搭建
- ACM题目————一笔画问题
- 关于MD5加密的小知识
- D&;F学数据结构系列——插入排序
- SGU 119.Magic pairs
- Mac开发者必备实用工具推荐
- SVN和Maven及Jenkins(转)
- MySQL5.7.11(ZIP)安装
- JS-运动基础(一)
- loadrunner 参数化-如何从数据库中取数据-连接数据库进行参数化
- java、php、.net关于web开发的区别
- 关于处理注册表权限无法修改的问题(无法打开主键或注册表项unknown)
- 【python】打印函数调用栈
- MVVM在WPF中应用(1)
- Oracle_高级功能(8) 事务和锁
- 【从0到1学Web前端】javascript中的ajax对象(一) 分类: JavaScript 2015-06-24 10:18 754人阅读 评论(1) 收藏
- HDU 2159 FATE(有选择物品总个数限制的完全背包,经典!!)
- Springboot单元测试(MockBean||SpyBean)
- 【struts2】值栈(前篇)
- js if判断 遍历 替换图片地质
热门文章
- Vue使用Element表单校验错误Cannot read property ‘validate’ of undefined
- 解决Emma中文乱码
- Oracle 插入时间戳id函数func_getnewid()
- 【大数据面试】【项目开发经验】Hadoop、Flume、Kafka、Hive、MySQL、Sqoop、Azkaban、Spark
- 【HarmonyOS】ArkTS Native开发——使用 system函数创建文件
- Jgit的使用笔记
- choices参数
- 组件封装----useImperativeHandle和ref
- python安装与初识
- 一个开放源代码,实现动态IL注入(Hook或补丁工具)框架:Lib.Harmony(Patch,PatchAll,Prefix,Postfix,Transpiler)