Dev*_*v28 3 .net c# error-handling winapi exception
我是从C++/Win32开发环境迁移到C#/ .NET的人.我注意到的一件事是,大多数错误的状态是通过使用错误代码及其传播在C++/Win32中处理的.
相反,C#/ .NET中的大多数错误状态似乎都是通过使用异常来处理的,并且很少建议使用错误代码.
为什么这样?
Ode*_*ded 10
错误代码的主要问题是需要检查它们.总是.
我们只是人类,可以忘记.
这可能意味着我们只需忘记检查错误代码就可以使程序进入不一致状态.
但是,如果我们忘记处理异常,我们的程序将退出.
这被认为优于继续以不一致的状态运行.
错误代码在C/C++代码中仍然普遍存在的大部分原因是历史的 - 这些语言没有异常处理,因此需要错误代码.并且有许多库和代码符合这个习惯用法,所以程序员需要保持它.
使用异常还有其他原因,除了它们不能被忽略的事实 - 它们带有相当多的上下文,正如Marc所观察到的 - 堆栈跟踪,消息等等,超出了异常的类型.
归档时间: |
|
查看次数: |
298 次 |
最近记录: |