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

PowerShell脚本终止错误疑问:求内置Cmdlet主动触发示例

主动抛出脚本终止错误的PowerShell内置方案

内置Cmdlet:Write-Error

Write-Error默认抛出非终止错误,但通过参数配置可触发脚本终止错误:

  • 直接添加-ErrorAction Stop参数:强制将错误升级为终止级别,触发后会立即停止整个脚本执行,且可被try/catch块捕获。
  • 全局设置错误偏好:提前执行$ErrorActionPreference = 'Stop',后续调用Write-Error时无需额外参数即可触发脚本终止错误。

示例代码:

try {
    Write-Error "触发脚本终止错误" -ErrorAction Stop
    Write-Host "此语句不会执行"
}
catch {
    Write-Host "捕获到错误: $_"
}

原生语言关键字:Throw(非Cmdlet,但官方推荐)

虽然Throw不属于Cmdlet,但它是PowerShell原生的终止错误抛出机制,默认抛出的就是脚本终止级别的错误,会直接中断后续代码执行,且支持try/catch捕获。

示例代码:

try {
    Throw "主动抛出脚本终止错误"
    Write-Host "此语句不会执行"
}
catch {
    Write-Host "捕获到错误: $_"
}

额外说明

部分内置Cmdlet(如Import-Module、Get-Content)默认抛出的是语句终止错误(仅停止当前语句,不终止整个脚本),需手动添加-ErrorAction Stop参数才能升级为脚本终止错误。

内容的提问来源于stack exchange,提问作者lolcats4u

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 02:13:19