在 C# 中除以 0 时会得到无穷大还是异常?


除以 0 是 System.DivideByZeroException,它是一个处理将被除数除以 0 而产生的错误的类。

让我们看一个例子。

示例

 实时演示

using System;
namespace ErrorHandlingApplication {
   class DivNumbers {
      int result;

      DivNumbers() {
         result = 0;
      }

      public void division(int num1, int num2) {
         try {
            result = num1 / num2;
         } catch (DivideByZeroException e) {
            Console.WriteLine("Exception caught: {0}", e);
         } finally {
            Console.WriteLine("Result: {0}", result);
         }
      }

      static void Main(string[] args) {
         DivNumbers d = new DivNumbers();
         d.division(25, 0);
         Console.ReadKey();
      }
   }
}

输出

Exception caught: System.DivideByZeroException: Attempted to divide by zero.
at ErrorHandlingApplication.DivNumbers.division (System.Int32 num1, System.Int32 num2) [0x00000] in <a9b37148b4814c1a849bf4ee94fbe889> :0
Result: 0

此处输入的值是 num1/num2。

result = num1 / num2;

上面,如果 num2 设置为 0,则会捕获 DivideByZeroException,因为我们已处理异常。

更新于: 2020-6-22

1K+ 浏览

开启 职业生涯

完成课程即可获得认证

开始
广告