2010-10-18 8 views
1

как мы можем вернуть какое-то значение в try-catch, напримерОбработка исключений

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

В чем ваш вопрос? – casablanca

+0

Не знаете, что вы просите здесь, вы получаете не все пути кода, возвращаете ошибку значения – rerun

+2

Умм, используя 'return' ?! Предоставьте более подробную информацию. – AndiDog

ответ

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

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; 

Если вам просто нужно вернуться внутрь улова вы можете использовать оператор возврата так же, как вы бы где-нибудь еще в вашем коде.

+0

Извините, если мое утверждение запутывает вас, на самом деле я хочу вернуть некоторые значения в клетке try. – QAZI

+0

вы можете просто использовать возврат. Он действителен где угодно. – rerun

Смежные вопросы