add
This commit is contained in:
35
app/exception/SysException.php
Normal file
35
app/exception/SysException.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace app\exception;
|
||||
|
||||
use app\enums\ErrEnums;
|
||||
use Exception;
|
||||
|
||||
class SysException extends \RuntimeException
|
||||
{
|
||||
public function __construct($data = [
|
||||
'msg' => '',
|
||||
'args' => [],
|
||||
'code' => 500
|
||||
], ...$args)
|
||||
{
|
||||
if ($data instanceof ErrEnums) {
|
||||
parent::__construct($data->value, $data->code());
|
||||
|
||||
}else if (is_string($data)) {
|
||||
if (!empty($args)) {
|
||||
$data = format($data, $args);
|
||||
|
||||
}
|
||||
parent::__construct($data, 500);
|
||||
}
|
||||
else{
|
||||
$val = $data['msg'];
|
||||
if (isset($data['args'])) {
|
||||
$val = format($data['msg'], $data['args']);
|
||||
}
|
||||
parent::__construct($val, isset($data['code']) ?? 500);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user