异常处理是确保程序健壮性的重要机制,通过合理捕获和处理错误可以避免程序崩溃。以下是关键知识点:
基本结构
try {
// 可能引发异常的代码
} catch (ExceptionType ex) {
// 异常处理逻辑
} finally {
// 无论是否发生异常都会执行的代码
}
✅ 正确用法:
try {
int result = 10 / 0;
} catch (DivideByZeroException ex) {
Console.WriteLine("发生除零异常:" + ex.Message);
} finally {
Console.WriteLine("资源释放完成");
}
❌ 错误用法:
try {
// 缺少具体异常类型捕获
} catch (Exception) {
// 空泛捕获会掩盖真实错误
}
异常类型
- System.Exception:所有异常的基类
- System.NullReferenceException:空引用错误
- System.IndexOutOfRangeException:数组越界
- System.IO.IOException:文件操作错误
- System.ArgumentException:参数验证失败
异常处理最佳实践
- 避免空泛捕获
catch (Exception)
- 在 finally 中释放资源(如数据库连接)
- 使用
throw
重新抛出异常时保留原始信息 - 对敏感操作使用
try-catch
包裹 - 记录异常日志而非直接显示给用户
扩展阅读
如需了解更高级的异常处理技巧,可参考:
/community/language_tutorials/csharp/Async_Programming
(包含异步操作中的异常处理策略)