有点像perl中的<statement> || die
,我可以在每个关键语句中加入一些简洁的内容,以避免在出现问题时使用其余的脚本来打扰PowerShell。
答案 0 :(得分:5)
大多数命令都支持-ErrorAction
常用参数。指定-ErrorAction Stop
通常会在出错时暂停脚本。请参阅Get-Help about_CommonParameters
。
默认情况下,-ErrorAction
为Continue
。您可以通过更改$ErrorActionPreference
的值来更改默认选项。请参阅Get-Help about_Preference_Variables
。
如果详细程度确实存在问题,-ErrorAction
的别名为-ea
。
答案 1 :(得分:1)
在PowerShell中实现类似...|| die
的构造而不需要添加巨大的try-catch构造的另一种方法是使用自动变量$?
。
来自Get-Help about_Automatic_variables
:
$?
Contains the execution status of the last operation. It contains
TRUE if the last operation succeeded and FALSE if it failed.
只需在每个关键声明后添加以下内容:
if(-not $?){
# Call Write-EventLog or write $Error[0] to an xml or txt file if you like
Exit(1)
}