Return 不能终止程序
来源:互联网 发布:淘宝10元包邮专区在哪 编辑:程序博客网 时间:2024/05/20 18:42
在try中没有异常的情况下try、catch、finally的执行顺序 try --- finally
如果try中有异常,执行顺序是try --- catch --- finally
如果try中没有异常并且try中有return这时候正常执行顺序是try ---- finally --- return
如果try中有异常并且try中有return这时候正常执行顺序是try----catch---finally--- return
总之 finally 永远执行!
如果try中有异常,执行顺序是try --- catch --- finally
如果try中没有异常并且try中有return这时候正常执行顺序是try ---- finally --- return
如果try中有异常并且try中有return这时候正常执行顺序是try----catch---finally--- return
总之 finally 永远执行!
try-catch-finally里都没有return ,finally 之后有个return ,如果try中有异常,finally执行完后,还能执行return吗?那是不可能执行的了,try中有异常以后,根据java的异常机制先执行catch后执行finally,此时错误异常已经抛出,程序因异常而终止,所以你的return是不会执行的
try中有return语句
-------- try catch finally顺序:
1.try {}.
2.如果有Error Exception则,执行catch(){}中的代码。
3.无论有没有 Error Exception都要执行finally{}中的代码。
4.执行 try 中的 return
catch中有return
int ret = 0;try{ throw new Exception();}catch(Exception e){ret = 1; return ret;}finally{ret = 2;}
这里finally中没有return,但是将catch中要return的ret赋值为2.那么最后返回的值是1. 为什么?
从调试中可以知道Finally中的赋值语句的确被执行了,而执行完这条finally语句后的下一条语句就是catch中的return,那么为啥返回的是1呢?
catch中有return,finally中没有return,return的值在执行finally之前已经确定下来了。
另一个值得注意的是最后的return(位于try-catch-finally外)并没有被执行
- Return 不能终止程序
- return false不能终止这个函数的执行de 解决办法
- 关于js中each()使用return不能终止循环
- CTRL+C不能终止程序运行
- 关于该内存不能为"read"要终止程序
- 用HOOK OpenProcess实现不能被终止的程序
- 程序终止
- return能否跳出循环?终止循环。
- C#控制台 利用return 提前终止函数
- 终止条件关键字之break continue return
- java 使用return终止代码继续运行
- 0xxxx”指令引用的“0xxxxx”内存。该内存不能为“read” 要终止程序。。。
- ctrl+c不能终止进程
- 查看并终止程序
- 终止python程序
- 终止处理程序
- assert()将程序终止
- Windows终止异常程序
- Exchange partition 交换分区
- CXF WebService 开发文档-目录索引
- linux 命令:kill and killall
- sed 介绍
- 网址记载
- Return 不能终止程序
- 堆和栈的区别
- 数据库连接池概述及配置
- SDL图形入门
- Kali安装VirtualBox
- 简单dfs hdu 4536 XCOM Enemy Unknown
- ubuntu mint 15 编译安装PHP开发环境
- SSI环境下 C3P0配置导致获取数据失败
- 基于对象和面向对象编程范式辨析