diff --git a/nur_src/_messenger.php b/nur_src/_messenger.php index 5035f0f..2de948c 100644 --- a/nur_src/_messenger.php +++ b/nur_src/_messenger.php @@ -1,7 +1,7 @@ addMessage([self::USER => $message], self::_info(), self::_normal()); } - static final function die($message): void { throw new ExitException(1, $message); } + static final function die($message): void { throw new ExitError(1, $message); } } diff --git a/nur_src/b/ExitError.php b/nur_src/b/ExitError.php new file mode 100644 index 0000000..5cf7b65 --- /dev/null +++ b/nur_src/b/ExitError.php @@ -0,0 +1,31 @@ +userMessage = $userMessage; + } + + function isError(): bool { + return $this->getCode() !== 0; + } + + /** @var ?string */ + protected $userMessage; + + function haveMessage(): bool { + return $this->userMessage !== null; + } + + function getUserMessage(): ?string { + return $this->userMessage; + } +} diff --git a/nur_src/b/ExitException.php b/nur_src/b/ExitException.php deleted file mode 100644 index a681c43..0000000 --- a/nur_src/b/ExitException.php +++ /dev/null @@ -1,22 +0,0 @@ -getCode() !== 0; - } - - function haveMessage(): bool { - return $this->getUserMessage() || $this->getTechMessage(); - } -} diff --git a/nur_src/cli/Application.php b/nur_src/cli/Application.php index 1526e8b..55058a2 100644 --- a/nur_src/cli/Application.php +++ b/nur_src/cli/Application.php @@ -2,7 +2,7 @@ namespace nur\cli; use Exception; -use nur\b\ExitException; +use nur\b\ExitError; use nur\b\ValueException; use nur\config; use nur\config\ArrayConfig; @@ -183,7 +183,7 @@ abstract class Application { if ($app === null) $app = new static(); static::_app_configure($app); static::_app_main($app); - } catch (ExitException $e) { + } catch (ExitError $e) { if ($e->haveMessage()) msg::error($e); exit($e->getCode()); } catch (Exception $e) { @@ -196,20 +196,20 @@ abstract class Application { * sortir de l'application avec un code d'erreur, qui est 0 par défaut (i.e * pas d'erreur) * - * équivalent à lancer l'exception {@link ExitException} + * équivalent à lancer l'exception {@link ExitError} */ protected static final function exit(int $exitcode=0, $message=null) { - throw new ExitException($exitcode, $message); + throw new ExitError($exitcode, $message); } /** * sortir de l'application avec un code d'erreur, qui vaut 1 par défaut (i.e * une erreur s'est produite) * - * équivalent à lancer l'exception {@link ExitException} + * équivalent à lancer l'exception {@link ExitError} */ protected static final function die($message=null, int $exitcode=1) { - throw new ExitException($exitcode, $message); + throw new ExitError($exitcode, $message); } const PROFILE_SECTION = [ diff --git a/nur_src/cli/Console.php b/nur_src/cli/Console.php index 2686f5a..0ffab54 100644 --- a/nur_src/cli/Console.php +++ b/nur_src/cli/Console.php @@ -2,7 +2,7 @@ namespace nur\cli; use nur\A; -use nur\b\ExitException; +use nur\b\ExitError; use nur\b\io\IWriter; use nur\b\params\Tparametrable; use nur\b\ui\AbstractMessenger; @@ -75,7 +75,7 @@ class Console extends AbstractMessenger { protected function processMsgOptions(array $options): void { $exit = $options[self::KEY_EXIT]; if ($exit !== null && $exit !== false) { - throw new ExitException( + throw new ExitError( is_int($exit)? $exit: 1, is_string($exit)? $exit: null, ); diff --git a/nur_src/v/base/AbstractPageContainer.php b/nur_src/v/base/AbstractPageContainer.php index 634fc8d..6c027da 100644 --- a/nur_src/v/base/AbstractPageContainer.php +++ b/nur_src/v/base/AbstractPageContainer.php @@ -4,7 +4,7 @@ namespace nur\v\base; use nur\A; use nur\b\coll\BaseArray; use nur\b\coll\GenericArray; -use nur\b\ExitException; +use nur\b\ExitError; use nur\co; use nur\config; use nur\func; @@ -274,7 +274,7 @@ abstract class AbstractPageContainer implements IPageContainer { $this->overridePrint($page); } catch (Throwable $e) { - if ($e instanceof ExitException && !$e->isError()) { + if ($e instanceof ExitError && !$e->isError()) { # NOP } else { $this->setError(null, $e); diff --git a/src/ExitException.php b/src/ExitError.php similarity index 56% rename from src/ExitException.php rename to src/ExitError.php index 78fa931..263ceb2 100644 --- a/src/ExitException.php +++ b/src/ExitError.php @@ -1,22 +1,31 @@ userMessage = $userMessage; } function isError(): bool { return $this->getCode() !== 0; } + /** @var ?string */ + protected $userMessage; + function haveMessage(): bool { - return $this->getUserMessage() !== null; + return $this->userMessage !== null; + } + + function getUserMessage(): ?string { + return $this->userMessage; } } diff --git a/src/wip/cli/Application.php b/src/wip/cli/Application.php index 3d9c921..515af00 100644 --- a/src/wip/cli/Application.php +++ b/src/wip/cli/Application.php @@ -2,7 +2,7 @@ namespace nur\sery\wip\cli; use Exception; -use nur\sery\ExitException; +use nur\sery\ExitError; use nur\sery\output\msg; use nur\sery\output\std\StdMessenger; @@ -31,7 +31,7 @@ abstract class Application { if ($app === null) $app = new static(); static::_app_configure($app); static::_app_main($app); - } catch (ExitException $e) { + } catch (ExitError $e) { msg::error($e->getUserMessage()); exit($e->getCode()); } catch (Exception $e) { @@ -44,20 +44,20 @@ abstract class Application { * sortir de l'application avec un code d'erreur, qui est 0 par défaut (i.e * pas d'erreur) * - * équivalent à lancer l'exception {@link ExitException} + * équivalent à lancer l'exception {@link ExitError} */ protected static final function exit(int $exitcode=0, $message=null) { - throw new ExitException($exitcode, $message); + throw new ExitError($exitcode, $message); } /** * sortir de l'application avec un code d'erreur, qui vaut 1 par défaut (i.e * une erreur s'est produite) * - * équivalent à lancer l'exception {@link ExitException} + * équivalent à lancer l'exception {@link ExitError} */ protected static final function die($message=null, int $exitcode=1) { - throw new ExitException($exitcode, $message); + throw new ExitError($exitcode, $message); } const ARGS = [];