回调函数 - php 手册里关于callback 类型中有一句话我不是很理解
程序员文章站
2022-04-07 15:29:05
...
未捕获的异常,官网没有给 demo,我也没想到有什么异常, 看到的大神能不能帮忙写个简单的例子 谢谢了
回复内容:
未捕获的异常,官网没有给 demo,我也没想到有什么异常, 看到的大神能不能帮忙写个简单的例子 谢谢了
很好理解啊。
比如一个函数中你注册了两个回调,示例代码:
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');
以上。