相关疑难解决方法(0)

什么是在JavaScript中扩展错误的好方法?

我想在我的JS代码中抛出一些东西,我希望它们是instanceof Error,但我也想让它们成为别的东西.

在Python中,通常会有一个子类Exception.

在JS中做什么是合适的?

javascript error-handling exception

340
推荐指数
16
解决办法
11万
查看次数

如何抛出InvalidArgumentException JavaScript?

目的

在JavaScript方法中抛出InvalidArgumentException,就像在Java或类似语言中一样.

背景

我一直在努力熟悉JavaSctipt错误处理,我知道我可以使用throw关键字抛出异常.

为此,我还阅读了MDN上throw文档和MDN上Error文档.

问题

到目前为止这是我的代码:

if (mySize >= myArray.length)
    throw new Error("InvalidArgumentExcpetion - BANG!!!!");
Run Code Online (Sandbox Code Playgroud)

这段代码对我来说有些问题:

  1. 我在异常中有文本.现在我有BANG,但明天我可能想要BONG,如果我决定改变它,我必须到处寻找!
  2. 我使用的是Error,而不是真正的InvalidArgumentExcpetion类型的新对象.这是正确的方法吗?

问题

所以现在我很困惑.

  1. 我应该像throw文档中那样创建一个新对象,还是创建一条错误消息?
  2. JavaScript没有我可以使用的InvalidArgumentException对象吗?
  3. 我应该如何进行以便采用可维护的方式抛出使用ECMA6的错误?

javascript error-handling exception throw

5
推荐指数
3
解决办法
8289
查看次数

Chai:如何检查异常属性

考虑下面的一段代码:

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检查

javascript node.js chai

4
推荐指数
1
解决办法
367
查看次数

标签 统计

javascript ×3

error-handling ×2

exception ×2

chai ×1

node.js ×1

throw ×1