如果不存在应该下载的文件,我试图抛出404页面:
try {
$fileContents = file_get_contents($url);
if ($fileContents === false) {
abort(404);
}
} catch (\Exception $e) {
abort(404);
}
事情是,如果缺少指定$url
下的文件,则抛出异常并执行catch
块 - 这很好。但是,abort(404)
根本不会发生。而是提供空白页面。
为什么忽略abort()
?我可以在die('foo')
中添加一个catch
,然后就会回复。
注意 - abort()帮助源:
function abort($code, $message = '', array $headers = [])
{
return app()->abort($code, $message, $headers);
}
答案 0 :(得分:1)
我对此进行了测试,它按预期工作。检查是否有任何自定义404错误页面导致空白页面或者您设置了任何自定义异常处理程序。
try {
$fileContents = file_get_contents($url);
if ($fileContents === false) {
throw new \Exception;
}
} catch (\Exception $e) {
abort(404);
}