DivideByZeroException 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
尝试将整数或 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 整数除法中的异常。
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
以下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) |