编程语言
首页 > 编程语言> > 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