抛出异常(C#)而不是返回错误号

时间:2012-12-26 08:04:09

标签: c# .net exception-handling

NEW WAY(异常投掷)v.s OLD WAY(错误编号)的缺点和优点是什么。

我总是听到老一代程序员说错误号返回更加强大和可控,而异常抛出在调试时间很好。

哪种更好的编程方法?

3 个答案:

答案 0 :(得分:3)

异常为您提供了更多的上下文信息,例如堆栈跟踪,这对于在开发期间诊断问题以及在生产系统中记录异常详细信息非常有用。

没有理由不使用这两种方法。您可以使用错误代码属性定义自己的异常类型,也可以编写包装器以从data collection中提取错误编号。

答案 1 :(得分:2)

当你使用异常时,你可以跟踪生成异常的执行路径,因此这非常适合调试,而且现代编程语言也有一些功能(比如try / catch块) 操纵异常,所有这些都适合调试。

答案 2 :(得分:0)

在java或c#中使用错误返回码,其中使用例外是一个选项,就是创建错误的代码。

这将混合两个不同的东西,错误处理和正常流程。

不要使用返回值来表示错误状态,错误的做法,糟糕的风格以及现代编程语言中的愚蠢行为。

如果有人觉得有必要争论这个问题,请通过实例或文献参考来做,而不仅仅是断言。