偶然遇到了被问到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();

简单的测试代码如上,记录用作以后面试用。。

最新文章

  1. 重温Javascript第一章
  2. JDBC增删改查和查唯一的完整代码
  3. 使用markdown编辑evernote(印象笔记)的常用方法汇总
  4. php-fpm服务启动脚本
  5. 图解LoadAverage(负载)
  6. Windows计数器做性能监控(window server 2008服务器)
  7. CC2540 USB DONGLE 使用 BTool 调试BLE 说明
  8. 在Asp.net MVC中访问静态页面
  9. sc7731 Android 5.1 LCD驱动简明笔记之一
  10. 中文字符串的编码转换(c实现)
  11. 1‘b0 什么意思
  12. 内核添加对yaffs2文件系统的支持
  13. 在Centos中yum安装和卸载软件的使用方法
  14. 【原】无脑操作:eclipse + maven搭建SSM框架
  15. 201521123033《Java程序设计》第2周学习总结
  16. UVA - 1371 Period 二分+dp
  17. MT【326】曲线中的爱恨情仇
  18. python科学计算
  19. AD9361寄存器配置顺序,循环模式,自收自发
  20. 【Docker江湖】之docker部署与理解

热门文章

  1. Balanced Binary Tree——数是否是平衡,即任意节点左右字数高度差不超过1
  2. 4.php整合Memcached
  3. linux 启动ftp服务,sftp服务
  4. WPF01(xaml)
  5. HDU 2102 A计划 (BFS)
  6. OpenCV for Python 学习笔记 一
  7. 每天一个linux命令(23):Linux 目录结构(转)
  8. 理解DOMSTRING、DOCUMENT、FORMDATA、BLOB、FILE、ARRAYBUFFER数据类型
  9. python super()(转载)
  10. EasyDarwin开源流媒体server将select改为epoll的方法