例外将不会呈现Laravel 5.7

问题描述 投票:1回答:1

我使用Laravel v 5.7.15。

我写这验证API请求验证帮手 - 这个作品成功了,我用一个try / catch之前,围绕着它。

我已经转移到处理的处理程序的例外,但是我不能让功能“渲染”运行 - 它直接进入了“报告”的文件在我鼓捣控制台异常抛出。

处理程序:(根据要求满级)

<?php

namespace App\Exceptions;

use Illuminate\Validation\ValidationException;
use Exception;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use App\Log;

class Handler extends ExceptionHandler
{
/**
 * A list of the exception types that are not reported.
 *
 * @var array
 */
protected $dontReport = [
    //
];

/**
 * A list of the inputs that are never flashed for validation exceptions.
 *
 * @var array
 */
protected $dontFlash = [
    'password',
    'password_confirmation',
];

/**
 * @param Exception $exception
 * @return mixed|void
 * @throws Exception
 */
public function report(Exception $exception)
{
    parent::report($exception);
}

/**
 * Render an exception into an HTTP response.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Exception  $exception
 * @return \Illuminate\Http\Response
 */
public function render($request, Exception $exception)
{
    dd($exception);
    $log = new Log();
    $log->status = 2;

    // Validate API incoming data
    if ($exception instanceOf ValidationException) {

        foreach ($exception->errors() as $error) {
            // collect multiple validation errors
            $message[] = implode('', $error);
        }

        $message = implode('', $message);

        $log->message = $message;
        $log->save();

        $response = [
            'message' => $message,
            'status' => 400,
        ];
    } else {
        $response = [
            'message' => $exception->getMessage(),
            'status' => '500',
        ];
    }

    return parent::render($request, $exception);
}
}

这不能死,转储,不过,我可以在报表功能DD和能正常工作。该文件的其余部分已经保持不变,保存为包括在文件的顶部。

这是我叫我的验证在我的控制器:

$this->validate($request, BlueparkValidatorArrays::$getOrders);

如果有人能在正确的方向指向我,我将不胜感激。

laravel exception-handling laravel-5.7
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.