diff --git a/src/Cli/dotnet/Parser.cs b/src/Cli/dotnet/Parser.cs index 6a6d7c9585a5..2e9d57e7ca3d 100644 --- a/src/Cli/dotnet/Parser.cs +++ b/src/Cli/dotnet/Parser.cs @@ -178,21 +178,29 @@ internal static int ExceptionHandler(Exception exception, ParseResult parseResul if (exception is Utils.GracefulException) { - Reporter.Error.WriteLine(CommandLoggingContext.IsVerbose - ? exception.ToString().Red().Bold() - : exception.Message.Red().Bold()); + Reporter.Error.WriteLine(CommandLoggingContext.IsVerbose ? + exception.ToString().Red().Bold() : + exception.Message.Red().Bold()); } else if (exception is CommandParsingException) { - Reporter.Error.WriteLine(CommandLoggingContext.IsVerbose - ? exception.ToString().Red().Bold() - : exception.Message.Red().Bold()); + Reporter.Error.WriteLine(CommandLoggingContext.IsVerbose ? + exception.ToString().Red().Bold() : + exception.Message.Red().Bold()); parseResult.ShowHelp(); } + else if (exception.GetType().Name.Equals("WorkloadManifestCompositionException")) + { + Reporter.Error.WriteLine(CommandLoggingContext.IsVerbose ? + exception.ToString().Red().Bold() : + exception.Message.Red().Bold()); + } else { Reporter.Error.Write("Unhandled exception: ".Red().Bold()); - Reporter.Error.WriteLine(exception.ToString().Red().Bold()); + Reporter.Error.WriteLine(CommandLoggingContext.IsVerbose ? + exception.ToString().Red().Bold() : + exception.Message.Red().Bold()); } return 1;