在404页中显示异常错误消息

阿莫尔·法鲁克(Farooq)

我有一个控制器,我在做这样的事情

return abort('401', 'User cannot be found');

如何在我的视图中访问该消息(errors / 401.blade.php)。

/************* 401.blade.php ***********/
{{ dd($exception) }}

如果我认为转储$ exception死了,我会得到这个

HttpException {#203 ▼
  -statusCode: "401"
  -headers: []
  #message: "User cannot be found"
  #code: 0
  #file: "C:\laravel\framework\src\Illuminate\Foundation\Application.php"
  #line: 882
  -trace: array:54 [▶]
}

如何访问消息变量?

圣地亚哥·门多萨·拉米雷斯

好吧,在Laravel文档中这样说:

自定义HTTP错误页面

Laravel使返回各种HTTP状态代码的自定义错误页面变得容易。例如,如果您希望为404 HTTP状态代码自定义错误页面,请创建一个resources / views / errors / 404.blade.php。该文件将处理您的应用程序生成的所有404错误。

该目录中的视图应被命名为与它们所对应的HTTP状态代码相匹配。

我认为您必须创建一个401.blade.php视图,然后您的代码才能工作。

如此处所示:https : //stackoverflow.com/a/29633624/4425719

用您自己的方法扩展Laravel的Exception HandlerIlluminate\Foundation\Exceptions\Handler和重写renderHttpException(Symfony\Component\HttpKernel\Exception\HttpException $e)方法。

如果您还没有跑步php artisan fresh,这对您来说很容易。只需编辑app/Exceptions/Handler.php,或创建一个新文件。

Handler.php

<?php namespace App\Exceptions;

use Exception;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;

use Symfony\Component\HttpKernel\Exception\HttpException;

class Handler extends ExceptionHandler {

  // ...

  protected function renderHttpException(HttpException $e) {
    $status = $e->getStatusCode();

    if (view()->exists("errors.{$status}")) {
      return response()->view("errors.{$status}", compact('e'), $status);
    }
    else {
      return (new SymfonyDisplayer(config('app.debug')))->createResponse($e);
    }
  }

}

然后,在中使用$e变量404.blade.php

IE

abort(404, 'Something not found');

在你的 404.blade.php

{{ $e->getMessage() }}

有关其他有用的方法,例如getStatusCode(),请参见Symfony\Component\HttpKernel\Exception

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从异常 try catch 中返回并显示错误消息

.NET中的异常错误消息

如何显示错误消息而不是Java异常?

尝试/捕获不显示异常错误消息

如何在基于 php 的系统中在同一页面上显示登录错误消息?

如何在Spring MVC中的同一页上显示错误消息

将错误消息存储在会话中并显示在另一页上

如何在 JavaScript 中管理“未捕获的异常”以在用户界面中显示错误消息?

MySQLIntegrityConstraintViolationException 未在异常消息中显示列名

尝试在同一页面上显示错误消息

在同一页上显示Recaptcha错误消息

在同一页面上显示错误或成功消息

创建ICMP对象后,它在异常中显示错误消息为?

如何在JSP中显示Spring Security Auth异常的自定义错误消息

在 PHP 中显示错误消息

错误消息显示在php中

在CakePHP中显示错误消息

在JSON错误响应中包含异常消息

错误404页

Laravel 内部错误页面显示异常消息而不是通用错误消息

smtp异常需要在本地服务器中显示错误消息时使用try-catch块

Spring Security:运行webapp会导致异常IncompatibleClassChangeError和第一页错误404

Servicestack显示404页的CatchAllHandlers

REACT中的404页

在404/500 / MVC5中显示自定义错误CSHTML页面,出现任何异常?

异常消息一直显示在该函数中处理的文本框中,应将其更改为简单的错误消息。

在$ .ajax响应中捕获错误,并显示异常

Angular JS 中未显示错误消息

街景在Android应用中显示错误消息