nulib-base/php/src/UserException.php

36 lines
871 B
PHP

<?php
namespace nulib;
use nulib\php\content\c;
use RuntimeException;
use Throwable;
/**
* Class UserException: une exception qui peut contenir un message utilisateur
* et un message technique
*/
class UserException extends RuntimeException {
function __construct($userMessage, $code=0, ?Throwable $previous=null) {
$this->userMessage = $userMessage = c::resolve($userMessage);
parent::__construct(c::to_string($userMessage), $code, $previous);
}
protected ?array $userMessage;
function getUserMessage(): ?array {
return $this->userMessage;
}
protected ?array $techMessage = null;
function getTechMessage(): ?array {
return $this->techMessage;
}
function setTechMessage($techMessage): self {
if ($techMessage !== null) $techMessage = c::resolve($techMessage);
$this->techMessage = $techMessage;
return $this;
}
}