php中未处理的错误

时间:2010-03-27 11:21:58

标签: php error-handling

如何在运行时知道我的代码发出了警告?

例如

try {
    echo (25/0);
} catch (exception $exc) {
    echo "exception catched";
}

抛出一个“警告:除以零”错误,我无法处理我的代码。

3 个答案:

答案 0 :(得分:7)

您正在寻找功能set_error_handler()。查看手册中的示例代码。

确保您不仅要禁止错误警告,而且要将它们静默地重定向到日志文件或类似内容。 (这有助于您追踪错误)

答案 1 :(得分:5)

您需要自己处理异常,如下所示..e.g

function inverse($x)
{
    if(!$x)
    {
         throw new Exception('Division by zero.');
    }
    else
    { 
        return 1/$x;
    }
}


try
{
     echo inverse(5);
     echo inverse(0);
}
catch (Exception $e)
{ 
    echo $e->getMessage();
}

答案 2 :(得分:2)

您需要安装一个错误处理程序,将旧式php“错误”转换为异常。查看示例here