diff --git a/src/output/std/StdMessenger.php b/src/output/std/StdMessenger.php index c8e0f69..d108c0d 100644 --- a/src/output/std/StdMessenger.php +++ b/src/output/std/StdMessenger.php @@ -419,7 +419,13 @@ class StdMessenger implements _IMessenger { $showTraceback = $this->checkLevel($level1); foreach ($exceptions as $exception) { # tout d'abord userMessage - $userMessage = UserException::get_user_message($exception); + if ($exception instanceof UserException) { + $userMessage = UserException::get_user_message($exception); + $showSummary = true; + } else { + $userMessage = UserException::get_summary($exception); + $showSummary = false; + } if ($userMessage !== null && $showContent) { if ($printActions) { $this->printActions(); $printActions = false; } $this->_printGeneric($linePrefix, $level, $type, $userMessage, $indentLevel, $out); @@ -427,9 +433,11 @@ class StdMessenger implements _IMessenger { # puis summary et traceback if ($showTraceback) { if ($printActions) { $this->printActions(); $printActions = false; } - $summary = UserException::get_summary($exception); + if ($showSummary) { + $summary = UserException::get_summary($exception); + $this->_printGeneric($linePrefix, $level1, $type, $summary, $indentLevel, $out); + } $traceback = UserException::get_traceback($exception); - $this->_printGeneric($linePrefix, $level1, $type, $summary, $indentLevel, $out); $this->_printGeneric($linePrefix, $level1, $type, $traceback, $indentLevel, $out); } } diff --git a/tbin/legacy-test-console.php b/tbin/legacy-test-console.php index f73fe84..5b119a3 100755 --- a/tbin/legacy-test-console.php +++ b/tbin/legacy-test-console.php @@ -235,12 +235,12 @@ Application::run(new class extends Application { msg::section("Exceptions", function ($msg) { $e = new Exception("message"); - $u1 = new UserException("userMessage"); - $u2 = new UserException("userMessage", "techMessage"); + $u1 = new UserException("userMessage1"); + $u2 = new UserException("userMessage2", "techMessage2"); $msg->title("avec message", function ($msg) use ($e, $u1, $u2) { - $msg->info(["exception", $e]); - $msg->info(["userException1", $u1]); - $msg->info(["userException2", $u2]); + $msg->info(["exception message", $e]); + $msg->info(["userException1 message", $u1]); + $msg->info(["userException2 message", $u2]); }); $msg->title("sans message", function ($msg) use ($e, $u1, $u2) { $msg->info($e);