Laravel Tutorials

Laravel 5.5 Adds Support for Custom Exception Reporting

Published
Laravel 5.5 Adds Support for Custom Exception Reporting image

In Laravel 5.5 it will be possible to define a report method on any custom exception. Laravel will look for the existence of the report method on any exception that it catches in the Illuminate\Foundation\Exceptions\Handler class.

if (method_exists($e, 'report')) {
return $e->report();
}

This is a convenient place to send a notification email to the developer, report to your application monitoring software, or carry out any other action you may require in the event the exception is thrown.

In previous versions of Laravel, it was possible to achieve the same result by editing the report method of the App\Exceptions\Handler class. Here you can listen for an instance of a particular exception and carry out your action accordingly.

public function report(Exception $exception)
{
if ($exception instanceof MyException) {
// do something here such as send an email to developer or notify monitoring app
}
 
return parent::report($exception);
}

As you can imagine, as your application grows, this can become a little messy and difficult to maintain.

This small change coming to Laravel 5.5 will make a huge difference in ensuring this is no longer an issue.

Joe Dixon photo

Founder and CTO of ubisend. Proud Father to two tiny heroes, Husband, developer, occasional globetrotter.

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
Lerd: A Free, Open Source Herd Alternative for Linux and macOS image

Lerd: A Free, Open Source Herd Alternative for Linux and macOS

Read article
Let's Encrypt HTTPS on an IP Address With FrankenPHP image

Let's Encrypt HTTPS on an IP Address With FrankenPHP

Read article
Laravel Chores: Resumable Data Operations and Cleanups image

Laravel Chores: Resumable Data Operations and Cleanups

Read article
NativePHP v4: Build Native iOS and Android UI in Blade image

NativePHP v4: Build Native iOS and Android UI in Blade

Read article
Laravel Lock: Distributed Locks for Models and Routes image

Laravel Lock: Distributed Locks for Models and Routes

Read article
Laravel Image Responses: Serve Resized Images From Routes image

Laravel Image Responses: Serve Resized Images From Routes

Read article