查看Node的documentation,SystemError
扩展了Error
类。但是,如果您尝试直接使用SystemError
,则Node会抛出一个ReferenceError
,表明SystemError
未定义。
显然,根据文档,很可能会遇到SystemError
的实例,但似乎无法以通常的方式(例如throw new SystemError(args)
)重新创建此类错误。
我想测试一些代码,这些代码旨在与docs中详细介绍的指定SystemError
API进行交互,但是我不知道如何重新创建SystemError
。这有可能吗?
最佳答案
我认为node.js不会提供SystemError
以避免任何人(npm软件包)使用它。因此,SystemError
实际上是SystemError
,而不是其他东西。
如果要测试,请生成错误:例如,尝试读取一个不存在的文件。
另一种解决方法是重新创建相似的错误,因为您知道该错误的每个属性。但这实际上是一种解决方法。
https://nodejs.org/api/errors.html#errors_class_systemerror
在Github的https://github.com/DefinitelyTyped/DefinitelyTyped中,我找不到interface
的任何SystemError
声明。
除了node-fetch
,voximplant-websdk
和alexa-sdk
的自定义实现。
https://github.com/DefinitelyTyped/DefinitelyTyped/search?q=systemError&unscoped_q=systemError