最近有人问我一个问题:
有没有办法在 javaScript 中不使用 throw
来抛出错误?
据我所知,只有一种方法可以在 JavaScript 中抛出错误,那就是在 JavaScript 中使用 throw
语句,如下所示:
var myFunc = () => {
// some code here
throw 'Some error' // in a conditional
// some more code
}
try {
myFunc()
}catch(e) {
console.log(e)
}
并且不知道我说的任何其他方式不,没有其他方式
。但现在我想知道我是否正确?
所以问题是你是否可以在不使用 throw
限制:
- 请不要使用
eval
,Function
。 - 不要在你的代码中使用
throw
附加:
如果你不用Error
这个词就可以抛出错误
最佳答案
生成器确实有一个throw
方法,通常用于将异常抛出到生成器函数代码中(在yield
表达式的位置,类似于 next
),但如果没有被捕获,它就会从调用中冒出来:
(function*(){})().throw(new Error("example"))
当然,这是一种 hack,不是很好的风格,我不知道他们期望什么答案。特别是“不被零除”的要求是粗略的,因为被零除不会在 JS 中抛出异常。
关于javascript - 如何在不抛出错误的情况下抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50571987/