PHP不能捕获异常


PHP not catch exception

我有这样的代码

    try
    {
        $a = 1/0;
    }
    catch(Exception $ex)
    {
        echo($ex->getMessage());
    }

当我执行网页时(使用Wamp服务器2.2)。我看到了这个,而没有看到异常的文本。我做错了什么?谢谢。

要处理这种情况,需要将PHP错误转换为异常。类似于(PHP 5.3+):

set_error_handler(
    function ($code, $mesg) {
        throw new RuntimeException($mesg, $code);
    },
    E_ALL & ~E_NOTICE & ~E_USER_NOTICE
);
try {
    $a = 1 / 0;
} catch (Exception $ex) {
    die($ex->getMessage());
}

(注意:不在我的终端附近,还没有编译这个例子。)

如果您希望根据特定的错误引发不同的异常,那么您能做的最好的事情是根据您感兴趣的模式测试消息,然后相应引发。