php try catch 失败后后面的语句还会继续执行吗?

发布于 2022-09-05 10:24:09 字数 254 浏览 19 评论 0

代码如下:

public function getCountByType($type) {

    try {
        ......
        return $num;
    } catch (Exception $e) {
        Log::dbe($e);
    }
    return 0;

}

请问后面那句 return 0; 有必要吗?

谢谢回答!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

几味少女 2022-09-12 10:24:09

有必要, 除非你的异常处理的代码还继续抛出异常, 才会阻止后续的语句执行.

顺序就是:

  1. 执行你的主要代码 ... , 抛出异常

  2. catch 捕获异常, 执行异常处理代码, Log::dbe($e)

  3. 继续执行 try {} catch () {} 结构体后面的代码.

や三分注定 2022-09-12 10:24:09

没必要,因为不出异常你会return $num,想必你也不会再有return 0的需求了吧,而出了异常会直接执行catch里面的语句,不会执行下面任何语句,自然也不会执行下面的return 0

吹梦到西洲 2022-09-12 10:24:09

失败后,如果catch(){}中有打断则不会继续执行,否则会继续往下执行的。

娇柔作态 2022-09-12 10:24:09

如果你需要失败了return 0,就有必要

桜花祭 2022-09-12 10:24:09

可以采用 try{}catch(){}final{}来兜底执行,final中的是一定执行的。

护你周全 2022-09-12 10:24:09

这么说吧,如果try的部分出了异常就执行catch的内容,还会执行return 0,如果你的网站架构是像yii这样有afteraction的话,不写return 0,还会把afteraction的内容跑一遍,所以我一般都会在每个方法中写个return

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文