php中finally不能用,php-什么时候以及为什么`finally`有用?

PHP 5.5最终实现了try-catch.我的疑问是:到底何时进行try-catch-find可能比仅在try-catch下方编写更有用?

示例之间的区别:

try { something(); }

catch(Exception $e) { other(); }

finally { another(); }

取而代之的是:

try { something(); }

catch(Exception $e) { other(); }

another();

能给我提供一些这种情况下常见的例子吗?

笔记:

>我只说说try-catch-finally,而不是说说try-finally.

>有些“功能”很酷,比如您取消当前的异常并最终抛出一个新的其他异常(我没有尝试过,I read here).我不知道是否有可能最终实现.

>诸如notcatch之类的东西有用吗?因此,如果尝试无一例外,我可以运行代码.呵呵

解决方法:

在try或catch块离开后,finally块中的代码始终执行.当然,您可以在try-catch之后继续编写代码,它也会被执行.但是,当您想中断代码执行时(例如从函数返回,中断循环等),最后还是很有用的.您可以在此页面上找到一些示例-http://us2.php.net/exceptions,例如:

function example() {

try {

// open sql connection

// Do regular work

// Some error may happen here, raise exception

}

catch (Exception $e){

return 0;

// But still close sql connection

}

finally {

//close the sql connection

//this will be executed even if you return early in catch!

}

}

但是,是的,你是对的.最后在日常使用中不是很流行.当然,不如单独尝试捕获.

标签:try-catch-finally,php,exception-handling

来源: https://codeday.me/bug/20191010/1887977.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值