在C#中创建和使用自定义异常是处理特定错误情况的有效方式。以下是详细步骤和示例:
- 创建自定义异常类:
自定义异常类需从System.Exception或其子类派生。
可定义多个构造函数以支持不同的错误信息传递方式。
public class CustomException : Exception{ // 无参数构造函数 public CustomException() { } // 带错误消息的构造函数 public CustomException(string message) : base(message) { } // 带错误消息和内部异常的构造函数 public CustomException(string message, Exception innerException) : base(message, innerException) { }}- 使用自定义异常:
在代码中通过throw关键字抛出自定义异常。
使用try-catch块捕获并处理异常。
try{ // 模拟触发自定义异常 throw new CustomException("发生了自定义异常");}catch (CustomException ex){ Console.WriteLine("捕获到自定义异常: " + ex.Message);}catch (Exception ex){ Console.WriteLine("捕获到系统异常: " + ex.Message);}自定义异常的使用场景:
业务规则验证:如用户创建重复账户时抛出DuplicateAccountException。
提供详细错误信息:自定义异常可携带更多上下文信息,便于调试和问题定位。
最佳实践:
异常类名应以Exception结尾,清晰表达异常类型。
提供丰富的构造函数以便灵活传递错误信息。
在捕获异常时,优先处理最具体的异常类型。
通过自定义异常,可以增强代码的可读性和可维护性,使错误处理更加精准和高效。