我正在开发一个应用程序,该应用程序使用基于轮询的方案定期从事件日志中读取事件。我正在使用 Get-WinEvent 命令通过使用 C# 代码调用此 powershell 命令来读取事件。
如果没有返回与指定为此 powershell 命令的 args 的过滤器匹配的事件,此 API 将引发异常
异常 -> Get-WinEvent :未找到符合指定选择条件的事件。
现在我面临区分以下两种情况的问题
- 日志中有一些事件,我的过滤参数错误,命令失败并出现异常
- 过滤器是正确的,但实际上没有要返回的事件,因此 API 失败并出现异常
在这两种情况下,例外似乎都是一样的。
有什么方法可以捕获案例 2 的特定异常,以便我可以安全地忽略它,对于过滤器查询中可能出现问题的其他情况,我可以正确处理它们吗?
我想的一种方式是基于异常消息,但它们看起来也相同。
我想做类似的事情
try
{
//Execute
}
catch(ExceptionOfType2 ex)
{
//ignore
}
catch(OtherException ex)
{
//Log
}