You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace JKingWeb\NewsSync\Lang;
|
|
|
|
|
|
|
|
class Exception extends \JKingWeb\NewsSync\AbstractException {
|
|
|
|
static $test = false; // used during PHPUnit testing only
|
|
|
|
|
|
|
|
function __construct(string $msgID = "", $vars = null, \Throwable $e = null) {
|
|
|
|
if(!self::$test) {
|
|
|
|
parent::__construct($msgID, $vars, $e);
|
|
|
|
} else {
|
|
|
|
$codeID = "Lang/Exception.$msgID";
|
|
|
|
if(!array_key_exists($codeID,self::CODES)) {
|
|
|
|
$code = -1;
|
|
|
|
$msg = "Exception.".str_replace("\\","/",parent::class).".uncoded";
|
|
|
|
$vars = $msgID;
|
|
|
|
} else {
|
|
|
|
$code = self::CODES[$codeID];
|
|
|
|
$msg = "Exception.".str_replace("\\","/",__CLASS__).".$msgID";
|
|
|
|
}
|
|
|
|
\Exception::__construct($msg, $code, $e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|