我怀疑PHP的try catch机制是为什么当我使用try catch处理错误时,为什么PHP仍显示默认错误消息
例如,我正在使用PHP excel lib来解析xls
文件,但是我想打印用户友好的错误输出,例如
{code:1, msg:"some error"}
所以我做这些:
try {
return $this->getJSON($fileName);
}catch (Exception $e){
$f = fopen('/' . trim(ROOT_DIR, '/\\') . '/file/Excel_error', 'wb');
fwrite($f, $e);
$split_content = "\n\n-------------------------------------\n\n";
fwrite($f, $split_content);
fclose($f);
echo json_encode(array(
"code" => 10000,
"msg" => "Excel parse error",
"files"=>null
));
}
我想记录错误文件并将我的自定义消息输出到前端,但是不起作用,当我触发错误/警告或其他警告时,PHP仍显示PHP Error
/ {{1 }} ...就像按照屏幕截图
PS:l处理E_WARINING
中的文件,此功能是我的入口。
答案 0 :(得分:0)
您可以在php.ini
文件中更改错误处理和日志记录部分。您可以将error_reporting
的值更改为E_ERROR,以减少报告的详细程度并避免显示警告。