DivideByZeroException 类

定义

尝试将整数或 Decimal 值除以零时引发的异常。

public ref class DivideByZeroException : ArithmeticException
public class DivideByZeroException : ArithmeticException
[System.Serializable]
public class DivideByZeroException : ArithmeticException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class DivideByZeroException : ArithmeticException
type DivideByZeroException = class
    inherit ArithmeticException
[<System.Serializable>]
type DivideByZeroException = class
    inherit ArithmeticException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type DivideByZeroException = class
    inherit ArithmeticException
Public Class DivideByZeroException
Inherits ArithmeticException
继承
DivideByZeroException
继承
属性

示例

以下示例处理 DivideByZeroException 整数除法中的异常。

using System;

public class Example
{
   public static void Main()
   {
      int number1 = 3000;
      int number2 = 0;
      try {
         Console.WriteLine(number1 / number2);
      }
      catch (DivideByZeroException) {
         Console.WriteLine("Division of {0} by zero.", number1);
      }
   }
}
// The example displays the following output:
//        Division of 3000 by zero.
open System

let number1 = 3000
let number2 = 0
try
    printfn $"{number1 / number2}"
with :? DivideByZeroException ->
    printfn $"Division of {number1} by zero."

// The example displays the following output:
//        Division of 3000 by zero.
Module Example
   Public Sub Main()
      Dim number1 As Integer = 3000
      Dim number2 As Integer = 0
      Try
         Console.WriteLine(number1\number2)
      Catch e As DivideByZeroException
         Console.WriteLine("Division of {0} by zero.", number1)
      End Try
   End Sub
End Module
' The example displays the following output:
'       Division of 3000 by zero.

注解

尝试将整数或 Decimal 数字除以零将 DivideByZeroException 引发异常。 若要防止异常,请确保使用整数或 Decimal 值的除法运算中的分母为非零。

将浮点值除以零不会引发异常;根据 IEEE 754 算术规则,它会导致 naN) (正无穷大、负无穷大或非数字。 由于以下示例使用浮点除法而不是整数除法,因此该操作不会引发 DivideByZeroException 异常。

using System;

public class Example
{
   public static void Main()
   {
      int number1 = 3000;
      int number2 = 0;

      Console.WriteLine((double)number1 / number2);
   }
}
// The example displays the following output:
//        Infinity
open System

let number1 = 3000.
let number2 = 0.

printfn $"{number1 / number2}"

// The example displays the following output:
//        Infinity
Module Example
   Public Sub Main()
      Dim number1 As Integer = 3000
      Dim number2 As Integer = 0

      Console.WriteLine(number1/number2)
   End Sub
End Module
' The example displays the following output:
'       Infinity

有关详细信息,请参阅 SingleDouble

以下Microsoft中间语言 (MSIL) 指令引发 DivideByZeroException

  • div

  • div.un

  • rem

  • rem.un

DivideByZeroException 使用 HRESULT COR_E_DIVIDEBYZERO,其值0x80020012。

有关实例的初始属性值的列表DivideByZeroException,请参阅DivideByZeroException构造函数。

构造函数

DivideByZeroException()

初始化 DivideByZeroException 类的新实例。

DivideByZeroException(SerializationInfo, StreamingContext)

用序列化数据初始化 DivideByZeroException 类的新实例。

DivideByZeroException(String)

用指定的错误消息初始化 DivideByZeroException 类的新实例。

DivideByZeroException(String, Exception)

使用指定的错误消息和对作为此异常原因的内部异常的引用来初始化 DivideByZeroException 类的新实例。

属性

Data

获取键/值对的集合,这些键/值对提供有关该异常的其他用户定义信息。

(继承自 Exception)
HelpLink

获取或设置指向与此异常关联的帮助文件链接。

(继承自 Exception)
HResult

获取或设置 HRESULT(一个分配给特定异常的编码数字值)。

(继承自 Exception)
InnerException

获取导致当前异常的 Exception 实例。

(继承自 Exception)
Message

获取描述当前异常的消息。

(继承自 Exception)
Source

获取或设置导致错误的应用程序或对象的名称。

(继承自 Exception)
StackTrace

获取调用堆栈上的即时框架字符串表示形式。

(继承自 Exception)
TargetSite

获取引发当前异常的方法。

(继承自 Exception)

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetBaseException()

当在派生类中重写时,返回 Exception,它是一个或多个并发的异常的根本原因。

(继承自 Exception)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetObjectData(SerializationInfo, StreamingContext)

当在派生类中重写时,用关于异常的信息设置 SerializationInfo

(继承自 Exception)
GetType()

获取当前实例的运行时类型。

(继承自 Exception)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

创建并返回当前异常的字符串表示形式。

(继承自 Exception)

事件

SerializeObjectState
已过时.

当异常被序列化用来创建包含有关该异常的徐列出数据的异常状态对象时会出现该问题。

(继承自 Exception)

适用于

另请参阅