26
C# Exception Handling
Handling errors is an important part of programming which makes the program more user-friendly. In this tutorial, we'll learn about how we can handle exceptions in C#.
The throw
keyword is used to throw errors and stops the further execution of a program.
bool authorized = false;
if(authorized)
{
// Your business logic here
}
else
{
throw new Exception("Access denied");
}
The above program throws an error as -
Unhandled exception. System.Exception: Access denied
The throw
keyword can be used with many types of exception classes. For example -
if(email == null)
{
throw new ArgumentNullException("Email cannot be null");
}
The try-catch
statement consist of a try
block followed by one or more catch
blocks.
try
{
// Your code blocks
}
catch(Exception ex)
{
throw new Exception("An error occured - " + ex);
}
This statement consist of a try
block followed by a finally
block which runs always after the try block.
try
{
// Your code here...
}
finally
{
// This block will run regardless of the result
}
This statement consists of a try
block followed by one or more catch
blocks followed by a finally
block which will run always regardless of the result. This is helpful in cases such as you have to free up the memory even if the program doesn't execute successfully.
try
{
// Your main business logic
}
catch(Exception ex)
{
throw new Exception("Error!");
}
catch(ArgumentNullException ex)
{
throw new ArgumentNullException("Arg cannot be null");
}
...
// More catch blocks
...
finally
{
// It will run regardless of the result
}
26