errors Simplify managing PHP's errors into your application

Introduction

errors helps manage errors and exceptions in PHP applications. Part of this library is based on the excellent work in the Haldayne\Fox project.

Source Code Latest Version Software License Build Status HHVM Status Coverage Status Quality Score Total Downloads

Usage

Let’s say you want to use PHP’s touch function. This function return false and emit an E_WARNING if the file can not be created. A way to workaround this behavior is to use the @ operator which is considered to be a bad practice as it silenced error reporting and slow down PHP execution. The Carpediem\Errors library helps you better handle these limitations gradually.

<?php

$result = touch('/foo/bar');
//if you don't have access to '/foo' directory
// $result = false
// an E_WARNING is emitted with a associated message

If you want to capture the error from the touch function.

<?php

use Carpediem\Errors\CaptureError;

$touch = new CaptureError('touch');
$result = $touch('/foo/bar');
if (!$result) {
    throw new RuntimeException($touch->getLastErrorMessage(), $touch->getLastErrorCode());
}

If you want to convert the error from the touch function into an Exception.

<?php

use Carpediem\Errors\CaptureError;
use Carpediem\Errors\ErrorToException;

$touch = new ErrorToException(new CaptureError('touch'));
try {
	$result = $touch('/foo/bar');
} catch (Exception $e) {
	echo $e->getMessage();  // the same message as CaptureError::getLastErrorMessage
	echo $e->getCode(); // the same message as CaptureError::getLastErrorCode
}

Credits

License

The MIT License (MIT). Please see LICENSE for more information.