Home > Article > Backend Development > Exceptions in C#
Exceptions are problems that occur during program execution. C# exceptions are responses to unusual conditions that occur while a program is running, such as an attempt to divide by zero.
Exceptions provide a way to transfer control from one part of a program to another. C# exception handling is based on four keywords -
try - The try block identifies the block of code that activates a specific exception. It is followed by one or more catch blocks.
catch - A program catches exceptions within a program using an exception handler. Want to deal with this issue. The catch keyword means catching exceptions.
finally -finally block is used to execute a given set of statements regardless of whether an exception is thrown or not thrown. For example, if you open a file, you must close it regardless of whether an exception is thrown or not.
Throws − The program throws an exception under the following circumstances: Something went wrong. This is done using the throw keyword.
C# Exceptions are represented by classes. The exception classes in C# are mainly derived directly or indirectly from the System.Drawing class. Exception class. Some exception classes are derived from System. The exception classes are the System.ApplicationException and System.SystemException classes.
Let’s see an example-
Live Demonstration
using System; using System.Reflection; public class Demo { public static void Main(){ Type type = typeof(Subject); try { FieldInfo fieldInfo = type.GetField("SubName"); MemberInfo[] info = type.GetMember("SubName"); Console.Write("Members = "); for (int i = 0; i < info.Length; i++) Console.WriteLine(" {0}", info[i]); Console.WriteLine("FieldInfo = {0}", fieldInfo); } catch (ArgumentNullException e){ Console.Write("{0}", e.GetType(), e.Message); } } } public class Subject{ public string SubName = "Science"; }
This will produce the following output-
Members = System.String SubName FieldInfo = System.String SubName
Now let us see another example-
Live Demonstration
using System; public class Demo { int result; Demo() { result = 0; } public void division(int num1, int num2) { try { result = num1 / num2; } catch (DivideByZeroException e) { Console.WriteLine("Exception caught = {0}", e); } finally { Console.WriteLine("Result = {0}", result); } } public static void Main(string[] args) { Demo d = new Demo(); d.division(100, 0); } }
This will produce the following output-
Exception caught = System.DivideByZeroException: Attempted to divide by zero. at Demo.division(Int32 num1, Int32 num2) in d:\Windows\Temp0kebv45.0.cs:line 11 Result = 0
The above is the detailed content of Exceptions in C#. For more information, please follow other related articles on the PHP Chinese website!