Download the PHP package cerbero/exception-handler without Composer
On this page you can find all versions of the php package cerbero/exception-handler. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download cerbero/exception-handler
More information about cerbero/exception-handler
Files in cerbero/exception-handler
Package exception-handler
Short Description Extend Laravel exception handler to define how to handle custom exceptions via service providers.
License MIT
Homepage https://github.com/cerbero90/exception-handler
Informations about the package exception-handler
Exception Handler
This Laravel package lets you define the behavior of your application when a specific exception is thrown.
Laravel handles exceptions in app/Exceptions/Handler.php
by default, but the more handlers you add the more this class gets cluttered and difficult to read and maintain.
Furthermore it is not possible for an external Laravel package to automatically register how its custom exceptions should be handled by the application where it has been installed.
This package lets you register custom exception handlers by using service providers, so that also external packages may register their own.
Please note: this package leverages the decorators design pattern, which allows you to keep using the Laravel default handler as you normally would. It just wraps the exception handler to extend its functionalities.
Install
Via Composer
If your Laravel version is prior to 5.5, please add this service provider in config/app.php
Usage
There are 3 types of handlers that can be registered:
- Reporters, they log an exception or report it to an external service (e.g. Sentry, Bugsnag...)
- Renderers, they render an exception into an HTTP response
- Console Renderers, they render an exception to the console
The following examples show how to register each type of handler in the boot()
method of a service provider:
A handler is basically a callback that accepts the exception to handle as first parameter. You can register a global handler by omitting the exception type or type-hinting Exception
.
Unlike reporters, renderers also accept a second parameter: an instance of Illuminate\Http\Request
in case of a renderer or a Symfony\Component\Console\Output\OutputInterface
in case of a console renderer.
It is also important to note that all registered handlers for an exception will be called until one of them returns a truthy value, in that case the exceptions propagation stops.
Change log
Please see CHANGELOG for more information what has changed recently.
Testing
Contributing
Please see CONDUCT for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
- Andrea Marco Sartori
- All Contributors
License
The MIT License (MIT). Please see License File for more information.