DivideByZeroException 类

定义

尝试将整数或 Decimal 值除以零时引发的异常。The exception that is thrown when there is an attempt to divide an integral or Decimal value by zero.

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

示例

下面的示例在整数DivideByZeroException相除中处理异常。The following example handles a DivideByZeroException exception in integer division.

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.
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引发异常。Trying to divide an integer or Decimal number by zero throws a DivideByZeroException exception. 若要防止出现此异常, 请确保包含整数或Decimal值的除法运算中的分母为非零值。To prevent the exception, ensure that the denominator in a division operation with integer or Decimal values is non-zero.

将浮点值除以零不会引发异常;根据 IEEE 754 算法的规则, 它会产生正无穷、负无穷或非数字 (NaN)。Dividing a floating-point value by zero doesn't throw an exception; it results in positive infinity, negative infinity, or not a number (NaN), according to the rules of IEEE 754 arithmetic. 由于下面的示例使用浮点除法而不是整数除法, 因此操作不会引发DivideByZeroException异常。Because the following example uses floating-point division rather than integer division, the operation does not throw a DivideByZeroException exception.

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
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

有关详细信息,请参阅 SingleDoubleFor more information, see Single and Double.

以下 Microsoft 中间语言 (MSIL) 指令引发DivideByZeroException:The following Microsoft intermediate language (MSIL) instructions throw DivideByZeroException:

  • divdiv

  • div. undiv.un

  • 剩余rem

  • rem.unrem.un

DivideByZeroException使用 COR_E_DIVIDEBYZERO 值为0x80020012 的 HRESULT。DivideByZeroException uses the HRESULT COR_E_DIVIDEBYZERO, which has the value 0x80020012.

有关实例的初始属性值的列表DivideByZeroException,请参阅DivideByZeroException构造函数。For a list of initial property values for an instance of DivideByZeroException, see the DivideByZeroException constructors.

构造函数

DivideByZeroException()

初始化 DivideByZeroException 类的新实例。Initializes a new instance of the DivideByZeroException class.

DivideByZeroException(SerializationInfo, StreamingContext)

用序列化数据初始化 DivideByZeroException 类的新实例。Initializes a new instance of the DivideByZeroException class with serialized data.

DivideByZeroException(String)

用指定的错误消息初始化 DivideByZeroException 类的新实例。Initializes a new instance of the DivideByZeroException class with a specified error message.

DivideByZeroException(String, Exception)

使用指定的错误消息和对作为此异常原因的内部异常的引用来初始化 DivideByZeroException 类的新实例。Initializes a new instance of the DivideByZeroException class with a specified error message and a reference to the inner exception that is the cause of this exception.

属性

Data

获取提供有关异常的其他用户定义信息的键/值对集合。Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(继承自 Exception)
HelpLink

获取或设置指向与此异常关联的帮助文件链接。Gets or sets a link to the help file associated with this exception.

(继承自 Exception)
HResult

获取或设置 HRESULT(一个分配给特定异常的编码数字值)。Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(继承自 Exception)
InnerException

获取导致当前异常的 Exception 实例。Gets the Exception instance that caused the current exception.

(继承自 Exception)
Message

获取描述当前异常的消息。Gets a message that describes the current exception.

(继承自 Exception)
Source

获取或设置导致错误的应用程序或对象的名称。Gets or sets the name of the application or the object that causes the error.

(继承自 Exception)
StackTrace

获取调用堆栈上的即时框架字符串表示形式。Gets a string representation of the immediate frames on the call stack.

(继承自 Exception)
TargetSite

获取引发当前异常的方法。Gets the method that throws the current exception.

(继承自 Exception)

方法

Equals(Object)

确定指定的对象是否等于当前对象。Determines whether the specified object is equal to the current object.

(继承自 Object)
GetBaseException()

当在派生类中重写时,返回 Exception,它是一个或多个并发的异常的根源。When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(继承自 Exception)
GetHashCode()

作为默认哈希函数。Serves as the default hash function.

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

当在派生类中重写时,用关于异常的信息设置 SerializationInfoWhen overridden in a derived class, sets the SerializationInfo with information about the exception.

(继承自 Exception)
GetType()

获取当前实例的运行时类型。Gets the runtime type of the current instance.

(继承自 Exception)
MemberwiseClone()

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(继承自 Object)
ToString()

创建并返回当前异常的字符串表示形式。Creates and returns a string representation of the current exception.

(继承自 Exception)

事件

SerializeObjectState

当异常被序列化用来创建包含有关该异常的徐列出数据的异常状态对象时会出现该问题。Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(继承自 Exception)

适用于

另请参阅