SystemException 是 C# 中预定义的异常类。它用于处理系统相关的异常。它作为系统异常命名空间的基类。它有各种子类,如:ValidationException、ArgumentException、ArithmeticException、DataException、StackOverflowException 等。
它由我们在下面列出的丰富的构造函数、属性和方法组成。
[SerializableAttribute] [ComVisibleAttribute(true)] public class SystemException : Exception
| 构造函数 | 描述 |
|---|---|
| SystemException() | 它用于初始化 SystemException 类的新实例。 |
| SystemException(SerializationInfo,StreamingContext) | 它用于使用序列化数据初始化 SystemException 类的新实例。 |
| SystemException(String) | 它用于使用指定的错误消息初始化 SystemException 类的新实例。 |
| SystemException(String,Exception) | 它用于使用指定的错误消息和对导致此异常的内部异常的引用来初始化 SystemException 类的新实例。 |
| 财产 | 描述 |
|---|---|
| Data | 它用于获取提供有关异常的其他用户定义信息的键/值对集合。 |
| HelpLink | 它用于获取或设置与此异常关联的帮助文件的链接。 |
| HResult | 它用于获取或设置 HRESULT,这是一个分配给特定异常的编码数值。 |
| InnerException | 它用于获取导致当前异常的异常实例。 |
| Message | 它用于获取描述当前异常的消息。 |
| Source | 它用于获取或设置导致错误的应用程序的名称。 |
| StackTrace | 它用于获取调用堆栈上立即帧的字符串表示形式。 |
| TargetSite | 它用于获取抛出当前异常的方法。 |
| 方法 | 描述 |
|---|---|
| Equals(Object) | 它用于检查指定对象是否等于当前对象。 |
| Finalize() | 它用于释放资源和执行清理操作。 |
| GetBaseException() | 它用于获取根异常。 |
| GetHashCode() | 它用于获取哈希码。 |
| GetObjectData(SerializationInfo,StreamingContext) | 它用于获取对象数据。 |
| GetType() | 它用于获取当前实例的运行时类型。 |
| MemberwiseClone() | 它用于创建当前对象的浅表副本。 |
| ToString() | 它用于创建和返回当前异常的字符串表示。 |
此类可用于处理子类的异常。这里,在下面的程序中,程序抛出一个 IndexOutOfRangeException,它是 SystemException 类的子类。
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);
}
}
}
}
输出:
System.IndexOutOfRangeException: Index was outside the bounds of the array.