laravel - Laravel 将所有类型的错误重定向到自定义视图
问题描述
我正在寻找一种方法来捕获所有可能的错误并将所有类型的错误重定向到一页。
我当前的代码/Exceptions/Handler.php
:
if ($this->isHttpException($exception)) {
$statusCode = $exception->getStatusCode();
switch ($statusCode) {
case '404':
return response()->view('layouts/404');
}
}
问题是ErrorException (E_NOTICE)类型(由代码中可能的错误引起)没有重定向到 404 页面。这些错误最终出现在“糟糕,出了点问题”页面上。
我基本上试图让每种类型的错误都出现在我的自定义错误页面上。
所有尝试最终都出现在白页上。
我没看到什么?
解决方案
好吧,要做你所要求的,你应该去App\Exceptions\Handler.php
那里,你需要修改render
方法:
public function render($request, Exception $exception)
{
abort(404);
}
但我坚持认为,这是一个糟糕的主意,您应该捕获您的应用程序可能获得的异常,并以干净的方式向用户显示错误消息,例如:
try{
//... your fancy code here
}catch(Exception $e){
// return with the message error $e->getMessage()
}
推荐阅读
- python - threading.Lock() 是否与 QThread() 兼容,QMutex() 是否与 python 线程兼容?
- google-api - 无法编辑自动创建的“G Suite Marketplace 集成客户端”OAuth 2.0 客户端 ID
- java - 如何手动处理 Spring Data JPA 分页和排序?
- r - 根据不同的条件重新编码多个列
- security - 在 Google OAuth 工作流程中何时使用私钥?
- android - Admob - 部署几天后未显示横幅广告
- javascript - 如何使用 javascript 从列 id 获取值到另一个页面?
- r - r:通过函数运行所有数据帧以获取最小和最大日期
- intellij-idea - 如何显示我的 dist 文件夹而不是 node_modules?
- three.js - AFrame:如何将相机渲染到纹理