不鼓励简单地捕获System.Exception
。相反,应该只捕获“已知”的异常。
现在,这有时会导致不必要的重复代码,例如:
try{WebId = new Guid(queryString["web"]);}catch (FormatException){WebId = Guid.Empty;}catch (OverflowException){WebId = Guid.Empty;}
我想知道:有没有一种方法可以捕获两个异常并且只调用WebId = Guid.Empty
调用一次?
给定的例子相当简单,因为它只是一个#0。但是想象一下代码,你多次修改一个对象,如果其中一次操作意外失败,你想“重置”object
。然而,如果有意外的异常,我仍然想扔得更高。