Understand the DivideByZeroException, and review ways to avoid this error.
DivideByZeroException. A DivideByZeroException is thrown. It indicates that a statement attempted to evaluate a division by zero. The C# compiler can detect divisions by the constant zero value. The CLR can throw the exception during program execution.DivideModuloException
Example. This program shows how an exception is thrown by the execution engine when you divide an int by zero. It uses a zero value determined at runtime through a parsing method, so that the program can be correctly compiled.Int, uintint.Parse
Then: We discuss issues related to the compiler system and dividing a number by zero.
Info: The division is evaluated to 100 / 0, which cannot be done by the execution engine. The program terminates by throwing a DivideByZeroException.
Tip: To avoid the exception, you must always test the denominator value for zero. Alternatively you can use try and catch.
C# program that divides by zero
static void Main()
// This expression evaluates to 100 / 0, which throws.
// ... You can check the denominator in a separate step.
int result = 100 / int.Parse("0");
Unhandled Exception: System.DivideByZeroException: Attempted to divide by zero.
at Program.Main() in ... Program.cs:line 11
Discussion. Let's discuss the C# compiler's capacity to detect division by zero errors. If you try to divide by a constant zero (the number 0 in source code), the program will fail to compile and can never be executed.
The compiler does this to reduce errors in finished programs that were not tested. This can be confusing because it exposes how the system uses different compilation phases. The divide by zero error can be detected on different levels.
Division by constant zero
Summary. We demonstrated the DivideByZeroException in the C# language, which is detected at two different stages: compile-time and runtime. This exception is built into the C# language itself. The specification contains the exact requirements.
Tip: To avoid the divide by zero exception, you obviously must check the denominator against the zero value.
And: This numeric check will be much faster than having an exception thrown in the runtime.