3namespace PlanetTeamSpeak\TeamSpeak3Framework\Exception;
6use PlanetTeamSpeak\TeamSpeak3Framework\Helper\Signal;
7use PlanetTeamSpeak\TeamSpeak3Framework\Helper\StringHelper;
46 parent::__construct($mesg, $code);
48 $this->raw_code = $code;
49 $this->raw_mesg = $mesg;
51 if (array_key_exists($code, self::$messages)) {
55 Signal::getInstance()->emit(
"errorException", $this);
67 "code" => $this->getCode(),
68 "mesg" => $this->getMessage(),
69 "line" => $this->getLine(),
70 "file" => $this->getFile(),
73 return $mesg->
arg($args)->toString();
86 if (array_key_exists($code, self::$messages)) {
87 throw new self(
"custom message for code 0x" . strtoupper(dechex($code)) .
" is already registered");
102 if (!array_key_exists($code, self::$messages)) {
103 throw new self(
"custom message for code 0x" . strtoupper(dechex($code)) .
" is not registered");
106 unset(self::$messages[$code]);
136 $trace = $this->getTrace();
138 return (isset($trace[0][
"class"])) ? $trace[0][
"class"] :
"{main}";
Enhanced exception class for TeamSpeak3 objects.
prepareCustomMessage(StringHelper $mesg)
__construct(string $mesg, int $code=0x00)
static registerCustomMessage(int $code, string $mesg)
StringHelper string null $raw_mesg
static unregisterCustomMessage(int $code)
Helper class for string handling.
arg(array $args, string $char="%")