| 
						 | 
						<?php
namespace App\Exceptions;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;use Throwable;use Illuminate\Validation\ValidationException;
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 = [        'current_password',        'password',        'password_confirmation',    ];
    /**     * Register the exception handling callbacks for the application.     *     * @return void     */    public function register()    {		$this->reportable(function (Throwable $e) {			if ($this->shouldReport($e) && app()->bound('sentry')) {				app('sentry')->captureException($e);			}		});    }
	/**	 * 报告异常	 * @return bool|void	 */	public function report(Throwable $e): bool	{		// 判断异常是否需要自定义报告...
		return false;	}
	public function render($request, Throwable $e)	{		// 表单校验
		if ($e instanceof ValidationException) {			$errors = $e->errors();			while (is_array($errors)) {				$errors = current($errors);			}			return response()->json([				'code' => -1,				'msg' => $errors,				'data' => [],				'status' => 500,			]);		}		// 404
		if ($e instanceof NotFoundHttpException) {			return response()->json([				'code' => -1,				'msg' => '404 Not Found',				'data' => [],				'status' => 500,			]);		}		//TypeError && ParseError && Exception
		/*if ($e instanceof \TypeError || $e instanceof \ParseError || $e instanceof \Exception) {			return response()->json([				'code' => -1,				'msg' => $e->getMessage(),				'data' => [],				'status' => 500,				'file' => $e->getFile(),				'line' => $e->getLine(),			]);		}		//Exception
		if ($e instanceof \Error) {			return response()->json([				'code' => -1,				'msg' => $e->getMessage(),				'data' => [],				'status' => 500,				'file' => $e->getFile(),				'line' => $e->getLine(),			]);		}*/		return parent::render($request, $e);	}}
  |