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.

Следующие инструкции Microsoft промежуточного языка (MSIL) вызывают DivideByZeroException:

  • div

  • div.un

  • rem

  • rem.un

DivideByZeroException использует COR_E_DIVIDEBYZERO HRESULT, который имеет значение 0x80020012.

Список начальных значений свойств для экземпляра DivideByZeroExceptionсм. в конструкторах DivideByZeroException.

Конструкторы

Имя Описание
DivideByZeroException()

Инициализирует новый экземпляр класса DivideByZeroException.

DivideByZeroException(SerializationInfo, StreamingContext)
Устаревшие..

Инициализирует новый экземпляр DivideByZeroException класса сериализованными данными.

DivideByZeroException(String, Exception)

Инициализирует новый экземпляр DivideByZeroException класса с указанным сообщением об ошибке и ссылкой на внутреннее исключение, которое является причиной этого исключения.

DivideByZeroException(String)

Инициализирует новый экземпляр 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)

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

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