2014-12-19 39 views
0

我想自己學習C#。 在下面的代碼中,我想執行主要方法僅當沒有發現異常時。 是否可能C異常處理初學者#

誰能幫我一下吧

代碼

public abstract class AbsClass 
    { 
     // Abstract Method 
     public abstract int DivTwoNumbers(int a, int b); 

    } 

    class Program : AbsClass 
    { 
     public int result { get; set; } 

     public override int DivTwoNumbers(int a, int b) 
     { 
      try 
      { 
       result = a/b; 
      } 
      catch (DivideByZeroException e) 
      { 
       Console.WriteLine("Second Number was " + e.Message); 
      } 

      return result; 
     } 

     static void Main(string[] args) 
     { 
      AbsClass prog = new Program(); 
      int div = prog.DivTwoNumbers(10, 0); 
      Console.WriteLine("Division Of Number Is : {0} ", div); 
     } 

    } 
+1

'Main'方法執行第一,當你啓動控制檯應用程序。如果你的代碼拋出任何異常,應用程序將被終止。 – opewix 2014-12-19 05:00:08

+0

'MultTwoNumbers'確實是故意的嗎? ;-) – John3136 2014-12-19 05:00:44

+0

@JesseJames所以我想這是沒用的問題。對?? – Richa 2014-12-19 05:00:52

回答

3

If I understand you right, you don't want to print number if division is incorrect - 從我到可能的答案評論。

public override int DivTwoNumbers(int a, int b) 
{ 
    return a/b; 
} 


static void Main(string[] args) 
{ 
    AbsClass prog = new Program(); 
    try 
    { 
     int div = prog.DivTwoNumbers(10, 0); 
     Console.WriteLine("Division Of Number Is : {0} ", div); 
    } 
    catch (DivideByZeroException e) 
    { 
     Console.WriteLine("DivideByZeroException. Second Number was " + e.Message); 
    } 
    catch(Exception ex) 
    { 
     Console.WriteLine("ErrorMessage :" + ex); // will also print exception details (edit by `KCdod`) 
    } 

} 
+0

Ooppss。那很簡單。非常感謝:) – Richa 2014-12-19 05:08:31

+0

儘快接受它作爲答案 – Richa 2014-12-19 05:10:03

0

主要方法是經常要執行的第一個,你必須調用DivTwoNumbers Main方法中:

static void Main(string[] args) 
{ 
    try 
    { 
     DivTwoNumbers(10, 0); 
     //continue ... 
    } 
    catch(Exception ex) 
    { 
     //break... 
    } 
}