Как я могу отобразить «пустое» сообщение об ошибке в PowerShell без сопровождающей трассировки стека?

Как я могу написать в stderr из PowerShell, или перехватить ошибки, которые

Сообщение об ошибке отображается как ошибка (действительно записывает в stderr, чтобы TeamCity и Octopus воспринимали его как ошибку)Отсутствие мусора в стеке мешает мое красивое, лаконичное сообщение об ошибке

Все эти годы я пережилthrowошибки или запись черезWrite-Error, но я устал и стар, и в моих сценариях я просто хочу увидеть одно краткое сообщение об ошибке. Я пробовал каждую комбинациюtrap, throw, Write-Error, а также-ErrorAction, но безрезультатно:

try {
  throw "error" #sample code for StackOverflow. In the theater 
  #of your mind, imagine there is code here that does something real and useful
} catch {
  Write-Error "An error occurred attempting to 'do something.' Have you tried rebooting?"
}

Вот пользовательский опыт, который я хочу увидеть:

C:\> & .\Do-Something.ps1
An error occurred attempting to 'do something.' Have you tried rebooting?

C:\> ▏

Вместо этого я получаю:

C:\> & .\Do-Something.ps1
An error occurred attempting to 'do something.' Have you tried rebooting?
At line:1 char:1
+ Do-RealWork
+ ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Do-RealWork    

C:\> ▏

Ответы на вопрос(2)

Ваш ответ на вопрос