C# SystemException class

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.

Signature

snippet
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class SystemException : Exception

Constructors

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.

Properties

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.

Methods

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.
Example

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.

snippet
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);
            }
        }
    }
}
Output
System.IndexOutOfRangeException: Index was outside the bounds of the array.
Related Tutorial
Follow Us
https://www.facebook.com/Rookie-Nerd-638990322793530 https://twitter.com/RookieNerdTutor https://plus.google.com/b/117136517396468545840 #
Contents +