Powershell捕获内置EXE异常(2)


支持所有版本。

继上个方法我们还有新的方法捕获控制台中的错误。

$ErrorActionPreference = 'Continue'
$result = net.exe user UserDoesNotExist 2>&1 

# $? is $false when something went wrong
if ($? -eq $false) {
    # read last error:
    $errMsg = $result.Exception.Message -join ','
    Write-Host "Something went wrong: $errMsg"
} else {
    Write-Host 'All is fine.'
} 

注意:这里使用的$ErrorActionPreference:被设置为’stop’,该错误被视为.net中的异常,$ErrorActionPreference默认是 ‘Continue’,使用这个设置,错误将会被记录到$err。
当上条命令失败,接着使用’$?’将会返回false。本例中,代码将返回一个错误消息(也可以将错误保存到日志文件)。
原文地址:Catching Errors in Native EXEs (Part 2)

本文链接: https://www.pstips.net/catching-errors-in-native-exes-part-2.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注