【问题标题】:How to intercept laravel http error responses如何拦截 laravel http 错误响应
【发布时间】:2017-09-20 17:44:31
【问题描述】:

我正在尝试处理 Laravel 项目引发的所有错误

我覆盖了文件 app\Exception\Handler.php 中的一些代码

public function render($request, Exception $e)
{
    $err = New Response;
    $err->Response=0;
    $err->Message = $e;
    return json_encode($err);
    //return parent::render($request, $e);
}

我评论了渲染函数并尝试返回我的自定义错误类的实例

但是这不起作用,因为我返回的是不同的类型(响应不扩展 ExceptionHandler

有没有办法做我想做的事?

【问题讨论】:

    标签: php laravel error-handling


    【解决方案1】:

    试试这个代码。这有帮助吗!

       public function render($request, Exception $e)
            {
                   return \Response::json([
                            'success' => false,
                            'message' => $e->getMessage(),
                      ], $e->getCode());
                   } 
             }
    

    【讨论】:

    • 你的意思是 $e->getCode() ??
    • @Elie $e->getcode() 表示响应状态码,如 404。
    • 它依赖于 Exception 类的实例(对象)。如果你声明 Exception $exception 那么它应该是 $exception->getCode()
    • @ShaileshLadumor Elie 指的是您在代码中使用 $e AND $exception 的事实。只需将最后一个 $exception 更改为 $e 即可!
    • 感谢它仍然在 $e->getCode() 处抛出错误。我只是用 500 替换它 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 2016-03-03
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多