相关疑难解决方法(0)

我如何捕获PHP致命错误

我可以set_error_handler()用来捕获大多数PHP错误,但它不适用于致命(E_ERROR)错误,例如调用不存在的函数.还有另一种方法来捕捉这些错误吗?

我试图调用mail()所有错误,并运行PHP 5.2.3.

php fatal-error

536
推荐指数
15
解决办法
35万
查看次数

PHP try-catch块:它们能够捕获无效的arg类型吗?

背景:假设我有以下显然不正确的PHP:

    try{
        $vtest = '';
        print(array_pop($vtest));
    }catch(Exception $exx){}
Run Code Online (Sandbox Code Playgroud)

为了使用array_pop,$ vtest显然应该是一个数组,而不是一个字符串.然而,当我运行此代码时,会显示警告.我不希望这样,我只是希望代码无声地失败.

问题:与其他语言相比,PHP try-catch是否有一些特殊之处导致这种情况无效?

免责声明: 仅供参考,确实有其他方法可以在PHP中处理这种情况,但这些都是不可取的.这里的目标是避免:

"签名"技巧:

        $vtest = '';
        print(@array_pop($vtest)); // <-- would like to avoid this
Run Code Online (Sandbox Code Playgroud)

类型铸造:

        $vtest = '';
        $vtest = (array)$vtest;  
        print(array_pop($vtest));
Run Code Online (Sandbox Code Playgroud)

php arrays exception try-catch

14
推荐指数
2
解决办法
7412
查看次数

标签 统计

php ×2

arrays ×1

exception ×1

fatal-error ×1

try-catch ×1