You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让PowerShell保留多行异常中的换行符正常显示

PowerShell保留抛出异常中的换行符方法

在PowerShell 7.2.6环境下,使用ConciseView错误视图时,抛出的多行异常消息里的换行符会被自动替换为空格。例如执行以下代码:

$newline = [System.Environment]::NewLine
throw "multiline$newline test"

输出的异常信息中,换行位置会变成空格;但切换到DetailedView时,换行符能正常保留。要让ConciseView下也保留换行,可采用以下几种方法:

方法一:临时切换错误视图

在抛出异常前将错误视图切换为DetailedView,完成操作后可按需切回ConciseView:

$ErrorView = 'DetailedView'
$newline = [System.Environment]::NewLine
throw "multiline$newline test"
# 如需恢复原视图,执行:$ErrorView = 'ConciseView'

方法二:抛出自定义异常对象

直接创建System.Exception类型的对象并抛出,该方式能在ConciseView下保留换行:

$newline = [System.Environment]::NewLine
$ex = [System.Exception]::new("multiline$newline test")
throw $ex

也可以用Write-Error搭配-ErrorAction Stop实现相同效果:

$newline = [System.Environment]::NewLine
Write-Error "multiline$newline test" -ErrorAction Stop

方法三:查看$Error集合中的原始异常

即使ConciseView显示时替换了换行,$Error集合中存储的原始异常对象仍保留完整的换行格式,可通过以下命令查看:

$Error[0].Exception.Message

内容的提问来源于stack exchange,提问作者Carl in 't Veld

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 20:55:20