crazycodr / standard-exceptions
This project is aimed at providing additional standard exceptions to php. Many exceptions that are missing from the SPL are constantly being reproduced in different projects. By providing a package of high-quality, well organised exceptions, it will, in the long run, increase interoperability betwee
Installs: 176 809
Dependents: 8
Suggesters: 0
Security: 0
Stars: 147
Watchers: 14
Forks: 10
Open Issues: 1
Requires
- php: >=7.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.15
- phpunit/phpunit: ^7.1
README
Standard Exceptions Package
This project is aimed at providing additional standard exceptions to PHP.
Many exceptions that are missing from the SPL are constantly being reproduced in different projects. By providing a package of high-quality, well organised exceptions, it will, in the long run, increase interoperability between projects and libraries.
Getting started
To install Standard Exceptions
, just require it using Composer:
$ composer require crazycodr/standard-exceptions
And then just start throwing exceptions:
throw new \Exceptions\Data\NotFoundException();
Or catch them:
try { } catch(\Exceptions\Data\NotFoundExceptions $ex){ }
Or even better, catch exceptions with similar means:
try { } catch(\Exceptions\Tag\NotFoundTag $ex){ }
For more information, visit the Getting Started Page or for even more information, you get read the whole Documentation.
If you need help upgrading for the old version 1 to this version, see the Upgrading from Version 1 to Version 2 documentation page.
Features
- Highly comprehensive list of exceptions and namespaces: Browse
- Tag interfaces to catch common exceptions with similar means but different contexts
- Exceptions define default messages and error codes using the DefaultsInterface and DefaultConstructorTrait
- Throwing new exceptions from another exception allows easier exception chaining using FromException helper
Contribution
Don't hesitate to contribute to this package by:
- Proposing new exceptions or namespaces
- Fix documentation issues or bugs by opening PRs
- Using it and spreading it's use throughout projects and libraries
If you want to contribute to the code base go to the Contributing page.