fn{Function}error{RegExp|Function}message{string}
断言 fn 函数不会抛出错误。
使用 assert.doesNotThrow() 实际上没有用处,因为捕获错误然后重新抛出它没有任何好处。
应该考虑在不应抛出错误的特定代码路径旁边添加注释,并尽可能保留错误消息。
当调用 assert.doesNotThrow() 时,它将立即调用 fn 函数。
如果抛出错误并且它与 error 参数指定的类型相同,则抛出 [AssertionError]。
如果错误的类型不同,或者 error 参数未定义,则错误将传播回调用方。
如果指定,则 error 可以是 [Class]、[RegExp] 或验证函数。
有关更多详细信息,请参见 [assert.throws()]。
例如,以下示例将抛出 [TypeError],因为断言中没有匹配的错误类型:
assert.doesNotThrow(() => {throw new TypeError('错误值');},SyntaxError);
以下示例将导致 [AssertionError],并显示消息 ‘Got unwanted exception…’:
assert.doesNotThrow(() => {throw new TypeError('错误值');},TypeError);
如果抛出 [AssertionError] 并为 message 参数提供了值,则 message 的值将附加到 AssertionError 消息:
assert.doesNotThrow(() => {throw new TypeError('错误值');},/错误值/,'出错啦');// AssertionError: Got unwanted exception: 出错啦
