我正在努力了解 Javascript 中的 OOP(我也从未真正在任何其他语言中使用过 OOP,因此这是我的第一次体验)。我编写了一个需要构造函数输入的类,但构造函数仅适用于特定格式的字符串。
我有一个可用于检查输入的正则表达式,但我不知道如果它不匹配(或者根本没有输入)我该怎么办。我应该抛出某种异常吗?如果是这样,我该怎么做?
最佳答案
在 JavaScript 中,抛出异常不是你想要做的。异常只能在异常情况下发生(duh ...)。这与 Java 形成对比,在 Java 中到处都使用异常来进行通信。造成这种差异的原因是 JS 中的异常处理非常慢。
所以你可以很好地为你的构造函数配备一个throw
,但这不应该在生产中被捕获。您宁愿先在构造函数之外检查有效性。
做:
if (validRE.test(input)) {
foo = new MyObject(input);
} else {
// show message to the user
}
不要:
try {
foo = new MyObject(input);
} catch (ex) {
// show message to the user
}
关于javascript - 我应该如何处理 JavaScript 中对象构造函数的无效输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12731213/