OOP中的返回代码

时间:2011-07-26 20:30:34

标签: asp.net oop

我最近参与了一个项目,其中每个方法都包含一个返回码。例如:

public Boolean LoadPageData(out int returnCode) { ... }

public String GetCustomerName(out int returnCode) { ... }

在OOP编程(特别是ASP.Net)中,使用返回代码是否被视为良好实践,不良做法或仅仅是个人偏好?如果他们确实有一个地方包含每个方法的返回码正确用法吗?

5 个答案:

答案 0 :(得分:1)

通常,除了常规返回值之外,还需要返回代码,这表明设计不佳。

返回代码用于表示成功或不同程度的故障。在OOP中,如果方法完全返回,则方法成功。如果存在任何不同程度的失败,则应抛出相应的异常。

答案 1 :(得分:1)

在OOP中发出错误信号的首选方法是抛出异常。返回代码在C中很常见,没有例外。如果您希望获取某些自定义参数,或者创建异常类型的枚举并将它们传递给通用异常类,请创建自己的异常。这里有很多灵活性,不要太复杂,只做现在有用的工作。

答案 2 :(得分:1)

您应该使用例外来表示发生了错误而不是返回代码。请参阅here for more.在例外情况下使用了返回代码。

答案 3 :(得分:0)

我认为在具有异常和异常处理的语言中,处理异常情况的首选方法是使用该框架。如果你不是在讨论特殊场景,我仍然会犹豫是否认为返回码是一个好主意......我认为你可以封装与类本身中的返回码相关的任何语义信息。 / p>

答案 4 :(得分:0)

这不是好习惯。例外是处理特殊情况的首选方式。要求调用者为每个方法调用指定out参数也是非常麻烦的。

使用XML comments警告调用者抛出或可能出现的未处理异常。