treehousetim / exception
Simple Good Exceptions
Installs: 357
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: ^7.0
Requires (Dev)
- monolog/monolog: ^1.0
- phpunit/phpunit: ^6
This package is auto-updated.
Last update: 2025-01-29 06:32:06 UTC
README
treehousetim/exception
A PHP Exception class to use as a base for exception handling in well structured web apps.
Installing
composer require treehousetim/exception
Using
After installing, create your own class that extends treehousetim\exception\Exception
.
Each namespace area of your code should implement its own Exception.php
Each Exception class should create class constants for relevant codes.
Exceptions are thrown with a variable length parameter list with the code as the very last parameter.
Throwing
To throw an exception, you can build up your message with multiple parameters. Place your code as the last parameter.
Exception messages are concatenated from the parameters with PHP_EOL
as the glue.
throw new Exception( 'This', 'is', $lib->getErrorText(), 'bad', Exception::normalError );
Examples
Exception class for somefancylibrary
<?php namespace treehousetim\somefancylibrary; class Exception extends \treehousetim\exception\Exception { const normalError = 0; const shinyError = 1; const matteError = 2; const sphericalError = 3; }
Some Fancy Library
<?php namespace treehousetim\somefancylibrary; class burgerifier { public function zorkAdventure() { throw new Exception( 'This', 'is', $lib->getErrorText(), 'bad', Exception::normalError ); } }