Как я могу использовать потоки из PowerShell или перехватывать ошибки, такие, чтоКак я могу отобразить «голый» сообщение об ошибке в PowerShell без сопровождающей stacktrace?
- Сообщение об ошибке отображается сообщение об ошибке (по-настоящему писать в стандартный поток ошибок, так что 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:\> ▏
FWIW '$ error [0] .Exception.Message' содержит сообщение об ошибке, но я не уверен, что это будет полезно для вас. – sodawillow