You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 11:如何通过app.php的withExceptions调用原Handler.php类

在Laravel 11中继续使用自定义异常处理类

Laravel 11确实调整了异常处理的配置方式,但完全可以沿用你之前Laravel 10里的自定义Handler类,具体步骤如下:

  1. 保留你的自定义Handler类
    确保app/Exceptions/Handler.php文件存在,内容和你之前的一致:
namespace App\Exceptions;

use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;

class Handler extends ExceptionHandler
{
    // 这里保留你原来的所有自定义逻辑,比如异常上报、自定义响应等
}
  1. 在bootstrap/app.php中指定自定义处理器
    找到withExceptions闭包,通过handler()方法传入你的自定义类即可:
->withExceptions(function (\Illuminate\Foundation\Configuration\Exceptions $exceptions) {
    // 绑定自定义异常处理类
    $exceptions->handler(\App\Exceptions\Handler::class);
})

这样配置后,Laravel 11就会自动使用你的自定义Handler类处理所有异常,和Laravel 10中的行为完全一致。如果你的Handler类里有register、render或report等自定义方法,都会正常生效。

内容的提问来源于stack exchange,提问作者Jon Menard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 18:33:25