2010-10-18 196 views
1

我们如何能够在try-catch返回一些值,例如异常处理

try 
{ 
    return abc; 
} 
catch(Exception ex) 
{ 
console.Writeline("Exception occur" + ex); 
} 
+2

你的问题到底是什么? – casablanca 2010-10-18 05:44:25

+0

不知道你在这里问的是你得到一个不是所有的代码路径返回一个值错误 – rerun 2010-10-18 05:44:58

+2

嗯,通过使用'返回'?!提供更多细节。 – AndiDog 2010-10-18 05:45:49

回答

1

如果您调用方法,此代码将返回2(发生异常)。

int testException() 
{ 

    try 
    { 
     int a = 0; 
     int b = 0; 
     return a/b; 
     //return 1; 
    } 
    catch (System.Exception ex) 
    { 
     return 2; 
    } 
} 
0
try 
    { 
     return abc; 
    } 
catch(Exception ex) 
    { 
     console.Writeline("Exception occur" + ex); 
     return some_value; 
    } 
+2

从“catch”块返回一个错误代码有点破坏了异常的目的。 – casablanca 2010-10-18 05:51:42

1

Try Catch是在你的代码处理的错误,导致你需要离开程序的正常流动的一种方式。许多.net系统组件会抛出错误以指示不希望任何代码可以放入catch块中的条件;

object x; 
try 
{ 
    x = Func(); 
} 
catch(Exception e) 
{ 
    //Set some default Value 
    x = new Object(); 
    //Send an email error 
    SendErrorMail(); 
} 
return x; 

如果你只是需要返回一个catch的内部,你可以使用return语句就像你在代码中的其他任何地方一样。

+0

对不起,如果我的陈述令你感到困惑,你实际上我想在try笼中返回一些值。 – QAZI 2010-10-18 05:55:25

+0

你可以使用return。其有效的地方。 – rerun 2010-10-18 06:06:45