holicz/simple-exception

Simple base exception class

v2.0.1 2021-03-31 19:56 UTC

This package is auto-updated.

Last update: 2024-10-29 05:11:02 UTC


README

Simple base exception class providing public and private context inspired by https://github.com/EasyCorp/EasyAdminBundle

Installation and usage

Installation with composer

composer require holicz/simple-exception

Your exception class:

<?php

namespace App\Exception;

use holicz\SimpleException\BaseException;
use holicz\SimpleException\ExceptionContext;

class CouldNotRemoveArticleException extends BaseException
{
    public function __construct(int $id)
    {
        $exceptionContext = new ExceptionContext(
            'There was an error during article removal. Please try again later.',
            sprintf('Could not delete article with id %d', $id),
            500 // HTTP status code
        );
    
        parent::__construct($exceptionContext);
    }
}

Your code

try {
    ...
} catch (MyException $e) {
    // Available methods
    $e->getPublicMessage(); // Show to user
    $e->getDebugMessage(); // Log
    $e->getStatusCode();
}