猿问

一次捕获多个异常?

一次捕获多个异常?

简单地捕捉是不鼓励的。System.Exception..相反,只有“已知”的例外情况才会被捕获。

现在,这有时会导致不必要的重复代码,例如:

try{
    WebId = new Guid(queryString["web"]);}catch (FormatException){
    WebId = Guid.Empty;}catch (OverflowException){
    WebId = Guid.Empty;}

我想知道:有没有办法捕获这两个异常并且只调用WebId = Guid.Empty打一次电话?

给出的例子相当简单,因为它只是GUID..但是,想象一下代码,其中您多次修改一个对象,如果其中一个操作以预期的方式失败,您想要“重置”object..然而,如果有意外的异常,我仍然想抛出更高的。


四季花海
浏览 709回答 3
3回答

杨__羊羊

捕获System.Exception并打开类型catch (Exception ex)            {                     if (ex is FormatException || ex is OverflowException)     {         WebId = Guid.Empty;         return;     }     throw;}
随时随地看视频慕课网APP
我要回答