C# 中除以 0 会产生无穷大还是异常?

csharpprogrammingserver side programming更新于 2025/7/12 13:52:17

除以零会产生 System.DivideByZeroException 异常,该类用于处理被除数除以零时产生的错误。

我们来看一个例子。

示例

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。


相关文章