$ErrorActionPreference = 'SilentlyContinue' #错误不抛出,脚本也会继续执行。 $ErrorActionPreference = 'Continue' #将错误抛出来,但是脚本会继续往下执行 $ErrorActionPreference = 'Stop' #错误发生时,终止脚本执行 $ErrorActionPreference = 'Inquire' #提供选项由用户选择Error Action 1. 2. 3. 4. 5. 6. ...
使用try-catch语句:在可能发生错误的代码块中使用try-catch语句,将可能发生的异常捕获并处理,从而避免错误信息的显示。 使用ErrorAction参数:在执行命令时,可以使用ErrorAction参数来指定错误处理策略。常用的参数包括SilentlyContinue(静默处理,不显示错误信息)、Stop(停止执行并显示错误信息)等。 重定向错误输出:可以使用重...
对于此类错误,PowerShell 会使用Write-Errorcmdlet 通知你发生了问题。 脚本将继续运行。 这可能不是你想要的行为。 若要提高错误的严重性,可以使用参数(例如-ErrorAction)来引发可通过Try/Catch捕获的错误,如下所示: Try { Get-Content './file.txt' -ErrorAction Stop } Catch { Write-Error "File can't ...
有个参数是:ErrorAction,就是指定命令在出现错误后的行为,我们可以看到参数值可以使继续、忽略、停止等。 该参数默认值是Continue,也就是发生错误后继续。 我们把参数值修改为Stop,就可以Catch到了 那要是项目中所有的命令都需要有相同的操作,每个命令设置还是有些麻烦,我们可以通过一个全局变量进行设置---ErrorActio...
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand PS C:\> Get-Item -Path .\1 -ErrorAction ;trap {'捕获错误';continue } 捕获错误 PS C:\> 以上代码获取不存在的文件夹1,当命令使用了-ErrorAction参数后,才能引发终止性错误,并被trap捕获。
if a path was included, verify that the path is correct and try again. trap 中使用$_,也就是powershell自动生成的当前对象,就会被替换成输出的错误 function TrapTest { trap {"Error found: $_"} nonsenseString } TrapTest Error found: The term 'nonsenseString' is not recognized as the name ...
无法捕获特定类型的异常:有时候我们只希望捕获特定类型的异常并进行重试,但使用Try Catch语句可能会捕获到其他类型的异常,导致重试操作无效。为解决这个问题,可以在Catch块中使用-ErrorAction参数来指定要捕获的异常类型。 综上所述,在Try Catch Powershell中进行重试时,需要注意上述问题,并合理编写重试逻辑,确保脚本能够...
如果将ErrorAction的值设置为默认值Stop,发生错误下面的命令就会终止PS C:\PowerShell> Remove-Item mossfly.com -ErrorAction "Stop"; Write-Host "工作完成" ObjectNotFound: (C:\PowerShell\mossfly.com:String) [Remove-Item], ItemNotFoundException PS C:\PowerShell> ...
PowerShell(以及许多其他语言)中的异常处理方式是,先对一部分代码执行try,如果引发错误,则对其执行catch。 下面是一个简单的例子。 PowerShell try{Start-Something} catch {Write-Output"Something threw an exception"Write-Output$_}try{Start-Something-ErrorActionStop } catch {Write-Output"Something threw an ...
try{ NonsenseString } catch {"An error occurred."} catch关键字必须紧跟try块或其他catch块。 PowerShell 不会将“NonsenseString”识别为 cmdlet 或其他项。 运行此脚本会产生以下结果: PowerShell An error occurred. 当脚本遇到“NonsenseString”时,会导致终止错误。catch块通过在块内运行语句列表来处理错误。