推荐答案
在C#中,自定义异常类通常通过继承 System.Exception 类来实现。以下是一个简单的自定义异常类的示例:
// www.javascriptcn.com code example
using System;
public class MyCustomException : Exception
{
public MyCustomException()
{
}
public MyCustomException(string message)
: base(message)
{
}
public MyCustomException(string message, Exception innerException)
: base(message, innerException)
{
}
}本题详细解读
1. 继承 System.Exception 类
在C#中,所有的异常类都继承自 System.Exception 类。因此,自定义异常类也需要继承这个基类。
public class MyCustomException : Exception
{
}2. 提供构造函数
为了确保自定义异常类能够像内置异常类一样使用,通常需要提供多个构造函数。最常见的构造函数包括:
- 无参构造函数:用于创建一个不带任何错误信息的异常对象。
- 带
message参数的构造函数:用于创建一个带有错误信息的异常对象。 - 带
message和innerException参数的构造函数:用于创建一个带有错误信息和内部异常对象的异常对象。
// www.javascriptcn.com code example
public MyCustomException()
{
}
public MyCustomException(string message)
: base(message)
{
}
public MyCustomException(string message, Exception innerException)
: base(message, innerException)
{
}3. 使用自定义异常
自定义异常类可以像内置异常类一样使用。例如:
try
{
throw new MyCustomException("This is a custom exception.");
}
catch (MyCustomException ex)
{
Console.WriteLine(ex.Message);
}4. 添加自定义属性或方法
如果需要,还可以在自定义异常类中添加额外的属性或方法,以提供更多的异常信息或功能。
// www.javascriptcn.com code example
public class MyCustomException : Exception
{
public int ErrorCode { get; }
public MyCustomException(string message, int errorCode)
: base(message)
{
ErrorCode = errorCode;
}
}通过这种方式,你可以创建符合特定需求的异常类,并在应用程序中灵活使用。