Muh*_*man 5 javascript error-handling try-catch
最近我被问到一个问题:
throwjavaScript的情况下抛出错误?据我所知,错误只有一种方法可以在JavaScript中抛出错误,并且在JavaScript中使用throw语句如下:
var myFunc = () => {
// some code here
throw 'Some error' // in a conditional
// some more code
}
try {
myFunc()
}catch(e) {
console.log(e)
}Run Code Online (Sandbox Code Playgroud)
而且不知道我说的任何其他方式No, there is no other way.但现在我想知道我是不对的?
所以问题是你是否可以在不使用的情况下在JavaScript中抛出自定义错误throw
eval,Function.throw在你的代码中使用如果你可以在不使用单词的情况下抛出错误 Error
生成器确实有一个throw方法,通常用于将异常抛出到生成器函数代码中(在表达式的位置yield,类似于next),但如果没有捕获,它将从调用中冒泡:
(function*(){})().throw(new Error("example"))
Run Code Online (Sandbox Code Playgroud)
当然,这是一种黑客行为,不是很好的风格,我不知道他们期望什么答案。特别是“不被零除”的要求是粗略的,因为无论如何被零除在 JS 中都不会抛出异常。