我需要检查异常是否在指定的异常列表中,当前我的代码如下:
catch (Exception ex) {
if ( (ex is Exception1) || (ex is Exception2) || (ex is Exception3) || (ex is Exception4) || (ex is Exception5) ) {
//do something;
}
}
如您所见,语法不是很优雅。有没有更好/更干净的方法在C#中编写这种类型的表达式?
编辑-我一直在寻找更好的内置语法来将异常视为类型,因此也许我可以构建这些异常的列表,并仅使用类似于列表对象包含此ex的内容。无论如何,我认为我现在可以忍受当前的代码。
public void test()
{
try
{
// do something something
return;
}
catch (Exception1) {}
catch (Exception2) {}
catch (Exception){
return;
}
//do something;
}
不是很“漂亮”,但可以正常工作..如果遇到Exception1或Exception2中的任何一个,//do something
则将执行。如果Exception
遇到另一个异常(由general表示),则该方法将返回并且将不执行任何操作(不会执行//do something
)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句