Skip to content

QubusPHP/error

Repository files navigation

Error Handler

Error handling with PSR-3 logging for catching exceptions as well as errors. There is also an error class to use as an alternative to throwing an exception.

Example

use Qubus\Error\Error;

use function Qubus\Error\Helpers\is_error;

function get_current_user(string|int $id = null)
{
    if(null === $id) {
        return new Error('User id cannot be null.');
    }
}

$user = get_current_user('56');

if(is_error($user)) {
    // log error message or send error flash message back to the user.
}

Requirements

  • PHP 8.2+

Installation

$ composer require qubus/error

Exceptions vs. Errors

There is a healthy discussion among developers whether to use exceptions or error return codes. There are pros and cons to both sides. No matter what side you fall on, the articles below are a great read with a dose of great examples as to the proper use of exceptions.

Author Statement

I am of the mind that if a function is to return something, then it should return, not throw. If an exception is exceptional, it should be caught and logged. I know that I don't do this perfectly, but it is my goal to go through all of my code and make sure that exceptions are exceptional and not unexceptional.