我想在我的JS代码中抛出一些东西,我希望它们是instanceof Error,但我也想让它们成为别的东西.
在Python中,通常会有一个子类Exception.
在JS中做什么是合适的?
在JavaScript方法中抛出InvalidArgumentException,就像在Java或类似语言中一样.
我一直在努力熟悉JavaSctipt错误处理,我知道我可以使用throw关键字抛出异常.
为此,我还阅读了MDN上的throw文档和MDN上的Error文档.
到目前为止这是我的代码:
if (mySize >= myArray.length)
throw new Error("InvalidArgumentExcpetion - BANG!!!!");
Run Code Online (Sandbox Code Playgroud)
这段代码对我来说有些问题:
所以现在我很困惑.
考虑下面的一段代码:
var expect = require('chai').expect;
parse = function() {
throw {error: 'PROTOCOL_ERROR'}
}
describe('parser', function() {
it('throw error on unfinished command', function() {
try {
parse("*2\r\n$4\r\necho\r\n$11\r\nhel")
} catch (e) {
expect(e).to.equal({error: 'PROTOCOL_ERROR'})
}
})
});
Run Code Online (Sandbox Code Playgroud)
有没有办法避免try...catch代码中出现这种样板?Chai 有“抛出”方法,但它只提供instanceof检查