Add an InternalError type that piggybacks ValidationError

This commit is contained in:
Nabeel Shahzad
2018-03-23 17:29:54 -05:00
parent f5c492bb7e
commit 33daaf4a35
2 changed files with 44 additions and 41 deletions

View File

@@ -0,0 +1,32 @@
<?php
namespace App\Exceptions;
use Illuminate\Validation\ValidationException;
use Validator;
use Log;
/**
* Show an internal error, bug piggyback off of the validation
* exception type - this has a place to show up in the UI as a
* flash message.
* @package App\Exceptions
*/
class InternalError extends ValidationException
{
protected const FLASH_FIELD_NAME = 'internal_error_message';
/**
* InternalError constructor.
* @param string|null $message
* @param null $field
*/
final public function __construct(string $message = null, $field = null)
{
Log::error($message);
$validator = Validator::make([], []);
$validator->errors()->add($field ?? static::FLASH_FIELD_NAME, $message);
parent::__construct($validator);
}
}