2014-12-19 61 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... 
    } 
}