PHP base exception is a library that provides exceptions with a default message and a custom value in an easy way.
PHP needs to be a minimum version of PHP 7.2.
The recommended way to install is through Composer.
composer require adlacruzes/php-base-exception
Create an exception that extends from BaseException.
use Adlacruzes\Exceptions\BaseException;
class SomethingNotFoundException extends BaseException {}
Then the exception can be called with no arguments.
try {
throw new SomethingNotFoundException();
} catch (SomethingNotFoundException $e) {
echo $e->getMessage();
}
The method getMessage()
returns an auto generated message based on the class name without typing anything more.
echo $e->getMessage();
// Something not found
You can choose a default message instead. Just initialize the message variable.
class SomethingNotFoundException extends BaseException {
/**
* @var mixed
*/
protected $message = 'This is a default message';
}
try {
throw new SomethingNotFoundException();
} catch (SomethingNotFoundException $e) {
echo $e->getMessage();
}
echo $e->getMessage();
// This is a default message
In addition to the message, you can provide more information to the exception and it will append to the result.
try {
throw new SomethingNotFoundException('information');
} catch (SomethingNotFoundException $e) {
echo $e->getMessage();
}
And the output will be:
echo $e->getMessage();
// Something not found: information