关于try catch finally的执行顺序解释
2024-09-04 23:15:58
偶然遇到了被问到finally的执行问题,忽然发现一直用的都是try catch 没有用过finally的情况,所以目前总结一下。
先抛出结论:
1、try内部正常执行try的内部逻辑,异常则执行catch的内部逻辑结构,但是不管执行的哪个都会执行完try catch的内部逻辑(非return)后执行finally的内部逻辑。
2、如果try catch都有return,按照正常执行,然后执行finally的逻辑,再返回对应的try 或者catch里执行return。
3、如果try catch finally都有return,执行完finally的逻辑后,会调用finally的return。
<?php
class test{
public function testTry()
{
$i = 0;
try {
$i= $i+1;
return $i;
} catch (Error $e){
echo $e->getMessage();
} catch (Exception $e) {
echo "wc";
} finally {
$i= $i+2;
// print_r($i);
return "1111";//当finally有return的时候 返回这个,当注销后,返回try 或者是 catch的内容。 }
}
} $b = new test();
echo $b->testTry();
简单的测试代码如上,记录用作以后面试用。。
最新文章
- 重温Javascript第一章
- JDBC增删改查和查唯一的完整代码
- 使用markdown编辑evernote(印象笔记)的常用方法汇总
- php-fpm服务启动脚本
- 图解LoadAverage(负载)
- Windows计数器做性能监控(window server 2008服务器)
- CC2540 USB DONGLE 使用 BTool 调试BLE 说明
- 在Asp.net MVC中访问静态页面
- sc7731 Android 5.1 LCD驱动简明笔记之一
- 中文字符串的编码转换(c实现)
- 1‘b0 什么意思
- 内核添加对yaffs2文件系统的支持
- 在Centos中yum安装和卸载软件的使用方法
- 【原】无脑操作:eclipse + maven搭建SSM框架
- 201521123033《Java程序设计》第2周学习总结
- UVA - 1371 Period 二分+dp
- MT【326】曲线中的爱恨情仇
- python科学计算
- AD9361寄存器配置顺序,循环模式,自收自发
- 【Docker江湖】之docker部署与理解
热门文章
- Balanced Binary Tree——数是否是平衡,即任意节点左右字数高度差不超过1
- 4.php整合Memcached
- linux 启动ftp服务,sftp服务
- WPF01(xaml)
- HDU 2102 A计划 (BFS)
- OpenCV for Python 学习笔记 一
- 每天一个linux命令(23):Linux 目录结构(转)
- 理解DOMSTRING、DOCUMENT、FORMDATA、BLOB、FILE、ARRAYBUFFER数据类型
- python super()(转载)
- EasyDarwin开源流媒体server将select改为epoll的方法