36 lines
871 B
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;
|
|
}
|
|
}
|