PowerShell简单的错误处理机制

一、利用环境变量

PowerShell中定义了两个变量进行默认的错误处理,输入“Get-Variable”得到Powershell系统中所有预定义的变量;

Error:这个变量会储存整个脚本所有的错误信息;

ErrorActionPreference: 这个变量定义powershell出错后,整个脚本该如何处理,预定义为“Continue”;

ErrorActionPreference包括SilentlyContinueContinueStop, 和Inquire四个参数;

PowerShell简单的错误处理机制 

例如我们用“Get-Process –FileVersionInfo”命令来测试看看ErrorActionPreference变量的含义;

(1)默认情况下ErrorActionPreference为“Continue”;

脚本出错后仍在继续的执行:

PowerShell简单的错误处理机制

error变量储存了错误的内容:

PowerShell简单的错误处理机制


(2)设置ErrorActionPreference为“stop”;

脚本遇到错误便停止;

PowerShell简单的错误处理机制

(3)设置ErrorActionPreference为“Inquire”;

脚本遇到错误需要人为的干预;

PowerShell简单的错误处理机制

(4)设置ErrorActionPreference为“SilentlyContinue”;

脚本遇到错误后隐藏错误继续执行,错误信息写入Error变量;

PowerShell简单的错误处理机制

不管ErrorActionPreference的值设为那一个,error变量都保存着错误信息;



二、利用“-ErrorAction”参数指定

ErrorAction包括SilentlyContinueContinueStopInquire,Suspend和Ignore六个参数;

例如我们用“Get-Process –FileVersionInfo”命令来测试

(1)默认情况下-ErrorAction为“Continue”;

脚本出错后仍在继续的执行:

PowerShell简单的错误处理机制

(2)默认情况下-ErrorAction为“Stop”;

脚本出错后停止的执行:

PowerShell简单的错误处理机制

(3)设置-ErrorAction为“Inquire”;

脚本遇到错误需要人为的干预;

PowerShell简单的错误处理机制

(4)设置-ErrorAction为“Ignore”;

脚本遇到错误后忽略错误继续执行,错误信息不写入Error变量;

PowerShell简单的错误处理机制

(5)设置-ErrorAction为“SilentlyContinue”;

脚本遇到错误后隐藏错误继续执行,错误信息写入Error变量;

PowerShell简单的错误处理机制

(6)设置-ErrorAction为“Suspend”;

This value is only available in Windows PowerShell workflows. 
When a workflow runs into terminating error, this action preference automatically suspends the job to allow for further investigation. Afterinvestigation, the workflow can be resumed.




本文转自 bannerpei 51CTO博客,原文链接:http://blog.51cto.com/281816327/1417587,如需转载请自行联系原作者

上一篇:《Hadoop海量数据处理:技术详解与项目实战(第2版)》一2.7 Cloudera Manager


下一篇:PowerShell让系统可以执行.ps1文件