C# 异常处理全解析
1. 异常处理的必要性
在编程过程中,许多操作都可能失败。比如,程序从外部驱动器的文件读取数据时,可能有人会拔掉驱动器;应用程序尝试创建数组时,可能会发现系统没有足够的可用内存;无线网络连接不稳定也会导致网络请求失败。
一种常见的发现操作失败的方式是让每个 API 返回一个值来指示操作是否成功。但这要求开发者时刻保持警惕,因为程序必须检查每个操作的返回值。这种策略虽然可行,但会让代码变得复杂,正常执行的逻辑可能会被大量的错误检查代码掩盖,从而使代码难以维护。而 C# 支持的异常处理机制可以缓解这个问题。
2. 异常处理机制
当 API 用异常报告失败时,它会打乱正常的执行流程,直接跳转到最近的合适的错误处理代码。这使得错误处理逻辑和执行任务的代码有了一定程度的分离,让代码更易读和维护,但缺点是难以看清代码所有可能的执行方式。
异常还能报告那些用返回码不太实际的操作问题。例如,运行时可以检测并报告基本操作的问题,像使用空引用调用方法就会失败,运行时会用异常来报告这种情况。
3. .NET 中的异常与返回码选择
在 .NET 中,大多数错误都以异常的形式表示,但有些 API 提供了返回码和异常两种选择。例如, int 类型有 Parse 方法,它尝试将字符串解析为数字,如果传入非数字文本,会抛出 FormatException 异常;而 TryParse 方法做同样的工作,但输入非数字时返回 false 而不是抛出异常,整数结果
超级会员免费看
订阅专栏 解锁全文
628

被折叠的 条评论
为什么被折叠?



