【发布时间】:2012-07-16 19:46:09
【问题描述】:
这是一个广泛的问题,但我还是想问。希望我不会得到很多反对票:)
今天我参加了一次面试,(和往常一样)他们让我写一个函数来计算一个数的阶乘。之后我们讨论了一些可能导致程序崩溃的问题,并讨论了如何让用户知道何时将负值传递给函数。
我个人说过使用断言或者可能返回一个特殊数字让用户知道,但我不确定他是否对这些答案非常满意。
在您看来,让用户知道传递给函数的非法值或在这种情况下最好的做法是什么?
【问题讨论】:
-
异常与成功/错误返回值,经典辩论。
-
Imo:永远不要在库的公共部分使用断言。这些是为了捕捉您自己的编程错误,而不是验证输入。此外,由于大多数人使用库的发布版本,他们甚至不会看到断言被抛出。
标签: java c++ error-handling