24 lines
682 B
PHP
24 lines
682 B
PHP
<?php
|
|
namespace nur\sery;
|
|
|
|
use LogicException;
|
|
|
|
/**
|
|
* Class StateException: indiquer que l'état dans lequel on se trouve est
|
|
* inattendu: il s'agit donc d'un bug
|
|
*/
|
|
class StateException extends LogicException {
|
|
static final function not_implemented(?string $method=null, ?string $prefix=null): self {
|
|
if ($method === null) $method = "this method";
|
|
$message = "$method is not implemented";
|
|
if ($prefix) $prefix = "$prefix: ";
|
|
return new static($prefix.$message);
|
|
}
|
|
|
|
static final function unexpected_state(?string $prefix=null): self {
|
|
$message = "unexpected state";
|
|
if ($prefix) $prefix = "$prefix: ";
|
|
return new static($prefix.$message);
|
|
}
|
|
}
|