php 手册里关于callback 类型中有一句话我不是很理解

clipboard.png
未捕获的异常,官网没有给 demo,我也没想到有什么异常, 看到的大神能不能帮忙写个简单的例子 谢谢了

阅读 2.5k
1 个回答

很好理解啊。

比如一个函数中你注册了两个回调,示例代码:

function somefunc1(){
    //some code...
    //Throw a exception
    throw new \Exception('I am a exception!');
}

function somefunc2(){
    //some code...
    //Not throw a exception
}

恰好,在你执行的时候, somefunc1() 的异常被抛出来了,这时候,在你的要使用的回调函数的函数中,你必须:

try {
    call_user_func('somefunc1');
} catch (\Exception $e) {
    echo $e->getMessage();
}
//以下函数在异常时候会继续执行
call_user_func('somefunc2');

如果你没有像上述那样子去捕获异常,代码示例如下:

call_user_func('somefunc1');
//当异常抛出的时候,一下代码不会继续执行
call_user_func('somefunc2');

以上。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏