如何在Laravel的口才模型中覆盖ModelNotFoundException?

Lad*_*dze 2 exception laravel eloquent

我想知道是否有可能在某些条件/查询上找不到Laravel的Eloquent模型时引发自定义异常?

例如,如果我有一个Page模型,如何抛出自定义PageNotFound异常?

<?php 

namespace App;

use Illuminate\Database\Eloquent\Model;

class Page extends Model {
}
Run Code Online (Sandbox Code Playgroud)

该模型将ModelNotFoundException与给定的消息一起抛出:

No query results for model [App\Page].
Run Code Online (Sandbox Code Playgroud)

Ton*_*ent 5

在app/Exceptions/Handler.php尝试添加以下代码来渲染功能的顶部

  public function render($request, Exception $e)
        {
            if ($e
                instanceof
                \Illuminate\Database\Eloquent\ModelNotFoundException) 
            {
              abort(404);
            }

            return parent::render($request, $e);
        }
Run Code Online (Sandbox Code Playgroud)

编辑
捕获ModelNotFoundException对象后,可以对其进行调用 getModel() 以获取模型的类名。