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 значениями не равен нулю.

Деление значения с плавающей запятой на ноль не приводит к возникновению исключения; это приводит к положительной бесконечности, отрицательной бесконечности или не числу (NaN), согласно правилам арифметики IEEE 754. Так как в следующем примере используется деление с плавающей запятой, а не целочисленное деление, операция не создает 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

Дополнительные сведения см. в разделах Single и Double.

Приведенные ниже инструкции msIL создают следующие DivideByZeroExceptionинструкции microsoft:

  • div

  • div.un

  • rem

  • rem.un

DivideByZeroException использует COR_E_DIVIDEBYZERO HRESULT, имеющий значение 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)

Применяется к

См. также раздел