如何在运行时知道我的代码发出了警告?
例如
try {
echo (25/0);
} catch (exception $exc) {
echo "exception catched";
}
抛出一个“警告:除以零”错误,我无法处理我的代码。
答案 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