• 技术文章 >后端开发 >php教程

    try catch在PHP中的使用

    little bottlelittle bottle2019-04-16 14:48:02转载3921
    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){}

    【课程推荐:PHP视频教程】  

    以上就是try catch在PHP中的使用的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:博客园,如有侵犯,请联系admin@php.cn删除
    专题推荐:try catch php
    上一篇:PhpStorm中返回上次编辑位置的快捷键使用方法 下一篇:Magento 2.2.5和2.2.6的问题产品设置特价又删除问题分析与解决
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• php Try Catch异常测试_PHP教程• php Try Catch异常测试• php try catch : 捕捉异常,抛出异常• php 的try catch要解决什么问题?
    1/1

    PHP中文网