The SystemException is a predefined exception class in C#. It is used to handle system related exceptions. It works as base class for system exception namespace. It has various child classes like: ValidationException, ArgumentException, ArithmeticException, DataException, StackOverflowException etc.
It consists of rich constructors, properties and methods that we have tabled below.
[SerializableAttribute] [ComVisibleAttribute(true)] public class SystemException : Exception
Constructors | Description |
---|---|
SystemException() | It is used to initialize a new instance of the SystemException class. |
SystemException(SerializationInfo,StreamingContext) | It is used to initialize a new instance of the SystemException class with serialized data. |
SystemException(String) | It is used to initialize a new instance of the SystemException class with a specified error message. |
SystemException(String,Exception) | It is used to initialize a new instance of the SystemException class with a specified error message and a reference to the inner exception that is the cause of this exception. |
Property | Description |
---|---|
Data | It is used to get a collection of key/value pairs that provide additional user-defined information about the exception. |
HelpLink | It is used to get or set a link to the help file associated with this exception. |
HResult | It is used to get or set HRESULT, a coded numerical value that is assigned to a specific exception. |
InnerException | It is used to get the Exception instance that caused the current exception. |
Message | It is used to get a message that describes the current exception. |
Source | It is used to get or set the name of the application that causes the error. |
StackTrace | It is used to get a string representation of the immediate frames on the call stack. |
TargetSite | It is used to get the method that throws the current exception. |
Method | Description |
---|---|
Equals(Object) | It is used to check that the specified object is equal to the current object or not. |
Finalize() | It is used to free resources and perform cleanup operations. |
GetBaseException() | It is used to get root exception. |
GetHashCode() | It is used to get hash code. |
GetObjectData(SerializationInfo,StreamingContext) | It is used to get object data. |
GetType() | It is used to get the runtime type of the current instance. |
MemberwiseClone() | It is used to create a shallow copy of the current Object. |
ToString() | It is used to create and return a string representation of the current exception. |
This class can be used to handle exception of subclasses. Here, in the following program, program throws an IndexOutOfRangeException that is subclass of SystemException class.
using System; namespace CSharpProgram { class Program { static void Main(string[] args) { try { int[] arr = new int[5]; arr[10] = 25; } catch (SystemException e) { Console.WriteLine(e); } } } }