From 2d550a8db44f90bb063487f15111ba330727c2ad Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Sat, 28 Feb 2026 13:43:28 +0800 Subject: [PATCH] Add simple output handling to exception classes --- src/StaticPHP/Exception/InterruptException.php | 5 ++++- src/StaticPHP/Exception/RegistryException.php | 5 ++++- src/StaticPHP/Exception/SPCException.php | 12 ++++++++++++ src/StaticPHP/Exception/WrongUsageException.php | 5 ++++- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/StaticPHP/Exception/InterruptException.php b/src/StaticPHP/Exception/InterruptException.php index 77b5240a..3f55d7a8 100644 --- a/src/StaticPHP/Exception/InterruptException.php +++ b/src/StaticPHP/Exception/InterruptException.php @@ -7,4 +7,7 @@ namespace StaticPHP\Exception; /** * Exception caused by manual intervention. */ -class InterruptException extends SPCException {} +class InterruptException extends SPCException +{ + protected bool $simple_output = true; +} diff --git a/src/StaticPHP/Exception/RegistryException.php b/src/StaticPHP/Exception/RegistryException.php index 347a132a..17d65cf2 100644 --- a/src/StaticPHP/Exception/RegistryException.php +++ b/src/StaticPHP/Exception/RegistryException.php @@ -4,4 +4,7 @@ declare(strict_types=1); namespace StaticPHP\Exception; -class RegistryException extends SPCException {} +class RegistryException extends SPCException +{ + protected bool $simple_output = true; +} diff --git a/src/StaticPHP/Exception/SPCException.php b/src/StaticPHP/Exception/SPCException.php index 307cf6cd..7ec27abe 100644 --- a/src/StaticPHP/Exception/SPCException.php +++ b/src/StaticPHP/Exception/SPCException.php @@ -20,6 +20,8 @@ use StaticPHP\Package\TargetPackage; */ abstract class SPCException extends \Exception { + protected bool $simple_output = false; + /** @var null|array Package information */ private ?array $package_info = null; @@ -155,6 +157,16 @@ abstract class SPCException extends \Exception return $this->extra_log_files; } + public function isSimpleOutput(): bool + { + return $this->simple_output; + } + + public function setSimpleOutput(bool $simple_output = true): void + { + $this->simple_output = $simple_output; + } + /** * Load stack trace information to detect Package, Builder, and Installer context. */ diff --git a/src/StaticPHP/Exception/WrongUsageException.php b/src/StaticPHP/Exception/WrongUsageException.php index 2044a82c..631a242a 100644 --- a/src/StaticPHP/Exception/WrongUsageException.php +++ b/src/StaticPHP/Exception/WrongUsageException.php @@ -10,4 +10,7 @@ namespace StaticPHP\Exception; * This exception is used to indicate that the SPC is being used incorrectly. * Such as when a command is not supported or an invalid argument is provided. */ -class WrongUsageException extends SPCException {} +class WrongUsageException extends SPCException +{ + protected bool $simple_output = true; +}