modifs.mineures sans commentaires
This commit is contained in:
parent
19daaa2893
commit
4dc4b97974
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
namespace nur;
|
||||
|
||||
use nur\b\ExitException;
|
||||
use nur\b\ExitError;
|
||||
use nur\b\ui\AbstractMessenger;
|
||||
use nur\b\ui\IMessenger;
|
||||
use nur\b\ValueException;
|
||||
|
@ -122,5 +122,5 @@ class _messenger {
|
|||
return self::get()->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); }
|
||||
}
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
namespace nur\b;
|
||||
|
||||
use Error;
|
||||
use Throwable;
|
||||
|
||||
/**
|
||||
* Class ExitException: une exception qui indique que l'application souhaite
|
||||
* quitter normalement, avec éventuellement un code d'erreur.
|
||||
*/
|
||||
class ExitError extends Error {
|
||||
function __construct(int $exitcode=0, $userMessage=null, Throwable $previous=null) {
|
||||
parent::__construct(null, $exitcode, $previous);
|
||||
$this->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;
|
||||
}
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
<?php
|
||||
namespace nur\b;
|
||||
|
||||
use Throwable;
|
||||
|
||||
/**
|
||||
* Class ExitException: une exception qui indique que l'application souhaite
|
||||
* quitter normalement, avec éventuellement un code d'erreur.
|
||||
*/
|
||||
class ExitException extends UserException {
|
||||
function __construct(int $exitcode=0, $message=null, Throwable $previous=null) {
|
||||
parent::__construct($message, $exitcode, $previous);
|
||||
}
|
||||
|
||||
function isError(): bool {
|
||||
return $this->getCode() !== 0;
|
||||
}
|
||||
|
||||
function haveMessage(): bool {
|
||||
return $this->getUserMessage() || $this->getTechMessage();
|
||||
}
|
||||
}
|
|
@ -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 = [
|
||||
|
|
|
@ -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,
|
||||
);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -1,22 +1,31 @@
|
|||
<?php
|
||||
namespace nur\sery;
|
||||
|
||||
use Error;
|
||||
use Throwable;
|
||||
|
||||
/**
|
||||
* Class ExitException: une exception qui indique que l'application souhaite
|
||||
* quitter normalement, avec éventuellement un code d'erreur.
|
||||
*/
|
||||
class ExitException extends UserException {
|
||||
class ExitError extends Error {
|
||||
function __construct(int $exitcode=0, $userMessage=null, Throwable $previous=null) {
|
||||
parent::__construct($userMessage, null, $exitcode, $previous);
|
||||
parent::__construct(null, $exitcode, $previous);
|
||||
$this->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;
|
||||
}
|
||||
}
|
|
@ -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 = [];
|
||||
|
|
Loading…
Reference in New Issue