站三界导航
首页 PHP代码PHP中try-catch的使用

PHP中try-catch的使用

  • PHP代码
  • 来源:站三界导航
  • 78阅读
  • 2023-04-10

1.try catch可以捕获上一层throw的异常

2.finally是不管try或者catch任何一块有return, 最终都会执行的块

3.try也是可以捕获到call_user_func_array回调函数类内部的throw的异常

4.call_user_func_array只能回调类的静态方法,可以在这个静态方法中进行new对象

5.在不自定义任何错误处理函数的情况下,try是不能捕获php本身的错误的,包括notice warning error等级别

下面的代码是项目中的一个部分,经过了多层调用和回调


<?php

class Oss {

    public static function connect() {

        throw new Exception("oss connect error");

        return 'oss object';

    }

}

//调用三层

class S3{

    public static function connect() {

        //throw new Exception("s3 connect error");

        return 's3 object';

    }

}

//调用二层

function callReader($class,$url){

    try{

        $conn=call_user_func_array(array($class, "connect"),array());

        return $conn;

    }catch(Exception $e){

        throw $e;   

    }finally{

        //无论如何都会执行,在这记录日志

    }

}

//调用一层

function getMessage(){

    $conn=null;

    try {

        $conn=callReader('Oss',"http://xxxx");

    } catch (Exception $e1) {

        $conn=callReader('S3',"http://xxxx");

    }

    return $conn;

}

//最先的入口

try{

    var_dump(getMessage());

}catch(Exception $e){}
以上就是try catch在PHP中的使用的详细内容,更多请关注站三界导航其它相关文章!


本文结束
本文来自投稿,不代表站三界导航立场,如若转载,请注明出处:https://www.zhansanjie.com/article/details/40445.html

版权声明:

1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

2、本站仅提供信息发布平台,不承担相关法律责任。

3、若侵犯您的版权或隐私,请联系本站管理员删除。

4、本文由会员转载自互联网,如果您是文章原创作者,请联系本站注明您的版权信息。

分享
相关文章 更多 >>
随机网站 更多 >>
最新小程序 更多>>
最新公众号更多>>
站三界导航
本站声明:本站严格遵守国家相关法律规定,非正规网站一概不予收录。本站所有资料取之于互联网,任何公司或个人参考使用本资料请自辨真伪、后果自负,站三界导航不承担任何责任。在此特别感谢您对站三界导航的支持与厚爱。