【发布时间】:2016-04-12 17:24:57
【问题描述】:
如果一个函数被调用并且缺少正确执行被调用函数所必需的参数,那么抛出错误是一种好习惯吗?
例如(在 JavaScript 中):
var sayHi = function(name) {
console.log(name + ' says hi!');
}
对比
var sayHi = function(name) {
if(!name) { throw new Error('param is missing'); }
console.log(name + ' says hi!');
}
对于第二个示例是否是一种良好的编码实践,或者它是否只会增加不必要的膨胀,可能导致在跨越数十甚至数百个文件的更复杂的程序中经常引发不必要的错误,是否有强烈的意见?
【问题讨论】:
-
这完全取决于意见。我倾向于不包括这样的检查,因为它们会减慢我的代码,让程序员有责任正确调用他们的函数。或者,您可以使用静态类型语言,例如 TypeScript,它确保始终使用正确数量的参数调用函数。
-
@raiti13 如果某些答案对您有所帮助,请接受它以便为未来的用户提供帮助:)
标签: javascript performance function error-handling parameter-passing