PowerShell简单的错误处理机制

简介:

一、利用环境变量

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

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

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

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

image 

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

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

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

image

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

image


(2)设置ErrorActionPreference为“stop”;

脚本遇到错误便停止;

image

(3)设置ErrorActionPreference为“Inquire”;

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

image

(4)设置ErrorActionPreference为“SilentlyContinue”;

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

image

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



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

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

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

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

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

image

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

脚本出错后停止的执行:

image

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

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

image

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

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

image

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

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

image

(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,如需转载请自行联系原作者

相关文章
|
28天前
|
算法 IDE PHP
PHP编程中的错误处理与调试技巧
在PHP编程过程中,错误处理和调试是至关重要的环节。本文将介绍一些常见的PHP错误类型、优秀的调试工具以及有效的调试技巧,帮助开发者更高效地定位和解决代码中的问题。
13 3
|
2月前
|
存储 安全 Windows
PowerShell系列(六):PowerShell脚本执行策略梳理
【2月更文挑战第1篇】PowerShell 脚本执行策略用于控制何时以及何种方式执行 PowerShell 脚
|
3月前
|
中间件
Koa2 的错误处理机制是什么?如何捕获错误?
Koa2 的错误处理机制是什么?如何捕获错误?
38 0
一个非常简单的函数为什么会崩溃
一个非常简单的函数为什么会崩溃
|
测试技术
软件测试面试题:如何在JMeter中捕获身份验证窗口的脚本?
软件测试面试题:如何在JMeter中捕获身份验证窗口的脚本?
109 0
|
JavaScript 前端开发 开发者
14、错误处理机制
JavaScript 解析或运行时,一旦发生错误,引擎就会抛出一个错误对象。
114 0
|
前端开发 Windows
如何在 Cypress 测试代码中屏蔽(Suppress)来自应用代码报出的错误消息
如何在 Cypress 测试代码中屏蔽(Suppress)来自应用代码报出的错误消息
215 0
如何在 Cypress 测试代码中屏蔽(Suppress)来自应用代码报出的错误消息
|
安全 程序员 编译器
C++的另一种错误处理策略
这篇短文是讨论一个大多数程序员都感兴趣的一个话题:错误处理。错误处理是编程的一个“黑暗面”。它既是应用程序的“现实世界”的关键点,也是一个你想隐藏的复杂业务。
189 0
|
SQL Windows
在执行xp_cmdshell的过程中出错,调用'LogonUserW'失败,错误代码:'1909'
在上篇文章Could not obtain information about Windows NT group/user 'xxxx\xxxx', error code 0x5里面,我介绍了SQL Server服务启动账号域账号锁定的情况下,有些Job Owner为域账号的作业执行会报错...
1299 0

热门文章

最新文章