assert.doesNotThrow(fn[, error][, message])
历史
版本 | 变化 |
---|---|
v5.11.0、v4.4.5 |
|
v4.2.0 |
|
v0.1.21 | 添加于:v0.1.21 |
参数
fn
<Function>error
<RegExp> | <Function>message
<string>
断言函数fn
不会引发错误。
使用assert.doesNotThrow()
实际上没有用,因为捕获错误然后重新抛出它没有任何好处。相反,请考虑在不应抛出的特定代码路径旁边添加注释,并尽可能保持错误消息的表现力。
当assert.doesNotThrow()
被调用时,它会立即调用fn
函数。
如果抛出错误并且它与 error
参数指定的类型相同,则抛出
。如果错误属于不同类型,或者 AssertionError
error
参数未定义,则错误将传播回调用者。
如果指定,error
可以是
、 Class
或验证函数。有关详细信息,请参阅RegExp
。assert.throws()
例如,以下将抛出
,因为断言中没有匹配的错误类型:TypeError
import assert from 'node:assert/strict'; assert.doesNotThrow( () => { throw new TypeError('Wrong value'); }, SyntaxError );
const assert = require('node:assert/strict'); assert.doesNotThrow( () => { throw new TypeError('Wrong value'); }, SyntaxError );
但是,以下将导致
带有消息“得到不需要的异常...”:AssertionError
import assert from 'node:assert/strict'; assert.doesNotThrow( () => { throw new TypeError('Wrong value'); }, TypeError );
const assert = require('node:assert/strict'); assert.doesNotThrow( () => { throw new TypeError('Wrong value'); }, TypeError );
如果抛出
并为 AssertionError
message
参数提供了一个值,则 message
的值将附加到
消息中:AssertionError
import assert from 'node:assert/strict'; assert.doesNotThrow( () => { throw new TypeError('Wrong value'); }, /Wrong value/, 'Whoops' ); // Throws: AssertionError: Got unwanted exception: Whoops
const assert = require('node:assert/strict'); assert.doesNotThrow( () => { throw new TypeError('Wrong value'); }, /Wrong value/, 'Whoops' ); // Throws: AssertionError: Got unwanted exception: Whoops
相关用法
- Node.js assert.doesNotThrow()用法及代码示例
- Node.js assert.doesNotReject(asyncFn[, error][, message])用法及代码示例
- Node.js assert.doesNotMatch()用法及代码示例
- Node.js assert.doesNotMatch(string, regexp[, message])用法及代码示例
- Node.js assert.deepStrictEqual()用法及代码示例
- Node.js assert.deepEqual(actual, expected[, message])用法及代码示例
- Node.js assert.deepStrictEqual(actual, expected[, message])用法及代码示例
- Node.js assert.deepEqual()用法及代码示例
- Node.js assert.notEqual(actual, expected[, message])用法及代码示例
- Node.js assert.notDeepStrictEqual(actual, expected[, message])用法及代码示例
- Node.js assert.fail(actual, expected[, message[, operator[, stackStartFn]]])用法及代码示例
- Node.js assert.throws(fn[, error][, message])用法及代码示例
- Node.js assert.equal()用法及代码示例
- Node.js assert.ifError()用法及代码示例
- Node.js assert.throws()用法及代码示例
- Node.js assert.ok()用法及代码示例
- Node.js assert.strictEqual()用法及代码示例
- Node.js assert.fail()用法及代码示例
- Node.js assert.strictEqual(actual, expected[, message])用法及代码示例
- Node.js assert.notStrictEqual(actual, expected[, message])用法及代码示例
- Node.js assert.match()用法及代码示例
- Node.js assert.notDeepStrictEqual()用法及代码示例
- Node.js assert.rejects()用法及代码示例
- Node.js assert.rejects(asyncFn[, error][, message])用法及代码示例
- Node.js assert.match(string, regexp[, message])用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 assert.doesNotThrow(fn[, error][, message])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。