Introduction
Today I will inform you about custom exceptions and how to implement custom exceptions. But before diving into Custom exceptions, let's start with basic exception-handling blocks.
Exceptions provide a way to transfer control from one part of a program to another. C# exception handling is built upon four keywords: try, catch, finally, and throw.
-
try- A try block identifies a block of code for which particular exceptions are activated. It is followed by one or more catch blocks.
-
catch- A program catches an exception with an exception handler at the place in a program where you want to handle the problem. The catch keyword indicates the catching of an exception.
-
finally- The finally block is used to execute a given set of statements, whether an exception is thrown or not thrown. For example, if you open a file, it must be closed whether an exception is raised or not.
-
throw- A program throws an exception when a problem shows up. This is done using a throw keyword.
We have some basic built-in exceptions mentioned below.
| Sr. No. | Exception Class | Description |
| 1 | System.IO.IOException | Handles I/O errors. |
| 2 | System.IndexOutOfRangeException | Handles errors generated when a method refers to an array index out of range. |
| 3 | System.ArrayTypeMismatchException | Handles errors generated when type is mismatched with the array type. |
| 4 | System.NullReferenceException | Handles errors generated from referencing a null object. |
| 5 | System.DivideByZeroException | Handles errors generated from dividing a dividend with zero. |
| 6 | System.InvalidCastException | Handles errors generated during typecasting. |
| 7 | System.OutOfMemoryException | Handles errors generated from insufficient free memory. |
| 8 | System.StackOverflowException | Handles errors generated from stack overflow. |

Join the conversation! Your thoughts help the community grow.