gpt4 book ai didi

javascript - 在 JavaScript 类中抛出错误是否被认为是不好的做法?

转载 作者:行者123 更新时间:2023-11-29 23:49:48 25 4
gpt4 key购买 nike

我有一个如下所示的 JavaScript 类,我需要控制输入变量的数据类型。

class Store
{
constructor (name)
{
if (typeof name !== "string")
throw new Error("The first argument must be a string!");

createStore(name);
}

// [...]
}

这被认为是一种不好的做法吗?有更好的解决方案吗?

最佳答案

嗯,在某些情况下,不抛出错误实际上可能更好。假设您有一个返回 promise 的方法。在那种情况下,您最好拒绝它,以便可以使用 .catch 捕获它。

class Example {
test(name) {
return new Promise( (resolve, reject) => {
if (typeof name !== "string")
reject("The first argument must be a string!")
else
resolve()
})
}
}

let ex = new Example()
ex.test(['array']).then( () => {
console.log('We successfully passed a string!')
}).catch( err => {
console.error(err)
})

关于javascript - 在 JavaScript 类中抛出错误是否被认为是不好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43104844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com