I have recently created a new project in Laravel 11 and can not get my custom error handling class to work. I have a class I use throughout all my Larvael projects (laravel 10). I want to use this class in Laravel 11 to process all my errors, but it seems the new version relies on the withExceptions
method in app.php
->withExceptions(function (Exceptions $exceptions) {
Does anyone know how I can get the withExceptions class to still use this (or any) external class for handling
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
class Handler extends ExceptionHandler {
}
In Laravel 11, exception handling with custom classes registration has changed. To use your custom handler:
namespace App\Exceptions;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Throwable;
class CustomHandler extends ExceptionHandler
{
public function render($request, Throwable $e)
{
// Custom logic
return response()->json(['error' => $e->getMessage()], 500);
}
}
bootstrap/app.php
:$app->singleton( Illuminate\Contracts\Debug\ExceptionHandler::class, App\Exceptions\CustomHandler::class );
You can inject external classes into CustomHandler
for additional processing.
More details: