处理powershell中的异常

时间:2014-05-07 09:29:50

标签: powershell exception-handling performancecounter

当您可以添加性能计数器列表时,我有一个配置文件,例如:

\Memory\Page Faults/sec
\Memory\Available Bytes
\ASP.NET Applications(*)\Requests in Application Queue

我有一个powershell脚本,它解析文件并执行Get-Counter参数,其中参数是我的配置文件中的每个计数器。一切都运行良好,但我希望我的脚本能够在用户添加坏计数器时处理异常,例如:

\Memory\Page Faults/sec
\Memory\Available Bytes
\ASP.NET Applications(*)\Requests in Application Queue
ddftrigjgigjij

有了这个,我在我的powershell控制台中得到一个红色异常,我想用适当的消息代替,例如" counter not found"。我从powershell开始,我尝试使用try \ catch但没有成功。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

-ErrorAction Stop添加到Get-Counter,这会使try / catch按预期工作:

   
try{
    Get-Counter "bogus counter" -ErrorAction stop
} 
catch { 
    echo "counter not found"
}