This lets you catch different-layers-specific exceptions (if needed).
The best way to use this component is through the Composer:
composer require bsadnu/php-exceptions- You may use exceptions within the standard throwing/catching mechanism or even extend them in any way you want:
use Bsadnu\Exception\Base\InvalidArgumentException;
...
try {
...
} catch (InvalidArgumentException $exception) {
...
} use Bsadnu\Exception\Base\TypeError;
...
throw new TypeError($message);- It is really helpful to catch either the base
BaseExceptionInterfaceor any other. Therefore, you can control a group of exceptions. Moreover, you may add manually as many specific interfaces as you wish.
All exceptions used in this library implements \Bsadnu\Exception\Interfaces\BaseExceptionInterface, and extend one of the SPL extensions. This way, you have several ways of catching specific extension groups:
- Catch all exceptions:
\Exception - Catch all exceptions thrown by the library:
\Bsadnu\Exception\Interfaces\BaseExceptionInterface - Catch a specific SPL exception:
\LogicException - Catch a specific exception thrown by the library:
\Bsadnu\Exception\Base\LogicException
All feedback / bug reports / pull requests are welcome.
This code is licensed under the MIT License.