2016-04-22 61 views
-1

我想借助函数来做一个简单的JavaScript“类”。但是,我想在设置值之前验证输入数据是否正确。如果数据不正确,我想抛出一个新的错误。这是我想出的:当实例化一个函数时抛出新的错误

function Testing(arg1, arg2) { 
    if (arg1 !== '' && arg2 !== '') { 
    this.arg1 = arg1; 
    this.arg2 = arg2; 
    } else { 
    throw new Error('Data is empty!'); 
    } 
} 

这是允许在JavaScript中吗?什么会是更好的解决方案? 谢谢你的回答!

+1

因此,只有两个参数都是空的,数据才是无效的。 – gurvinder372

+1

这很好。你可以看看这里的方法:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/throw。所有的例子都使用'if-else'来引发错误。 – AKS

+0

什么让你觉得它不会被允许在JS?什么会让你觉得用'throw'来报告一个致命的错误条件不是一个好的解决方案? – 2016-04-22 13:14:04

回答

0

这很好。抛出对象的构造是很好的,因为它确保了内部的一致性。

比较而言,如果您决定例如使用特殊的字段,用户可以忽略这样的事实,即创建事实上失败了。

相关问题