我需要在switch的情况下检查异常的类型,并为特定的异常执行不同的任务,我现在所做的是创建一个在抛出异常时将被调用的方法,所以:
private static void ShuntException(Exception ex)
{
switch (ex.InnerException)
{
case System.Net.WebException:
DoSomething();
break;
}
}
基本上是我遇到此错误的问题:
错误:' WebException'是'类型',在给定的上下文中无效
我可以使用GetType().ToString()
修复此情况,然后手动编写Exception
类型:
private static void ShuntException(Exception ex)
{
switch (ex.InnerException.GetType().ToString())
{
case "System.Net.WebException":
DoSomething();
break;
}
}
我添加的最后一个例子运行良好,但我更喜欢第一个没有为编译器显示的错误工作,我错过了什么或我做错了什么?
感谢您的帮助。