• Node.js Video Tutorials

Node.js - assert.fail() 函数



Node.js assert.fail() 函数将抛出一个 AssertionError,并附带我们作为参数传递的错误消息,或者使用默认错误消息。如果我们传递的消息是 Error 的实例,则将抛出它而不是 AssertionError。

assert 模块提供了一组断言函数,用于验证不变式。Node.js assert.fail() 函数是 Node.js assert 模块的内置函数。

语法

以下是 Node.js assert.fail() 函数 的语法:

assert.fail([message]);

参数

  • message − (可选)可以将字符串或 Error 类型作为输入传递给此参数。默认情况下,它将打印“Failed”。

返回值

此方法将返回一个 AssertionError,以及参数中传递给输出的消息。

示例

在下面的示例中,我们将文本传递给 Node.js assert.fail() 函数message 参数。

const assert = require('assert');
const err = 'Warning';
assert.fail(err);

输出

当我们编译并运行代码时,该函数将抛出 AssertionErrormessage 到输出。

assert.js:79
   throw new AssertionError(obj);
   ^
   
AssertionError [ERR_ASSERTION]: Warning
   at Object.<anonymous> (/home/cg/root/639c30a0a5fb2/main.js:4:8)
   at Module._compile (internal/modules/cjs/loader.js:702:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
   at Module.load (internal/modules/cjs/loader.js:612:32)
   at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
   at Function.Module._load (internal/modules/cjs/loader.js:543:3)
   at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
   at startup (internal/bootstrap/node.js:238:19)
   at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

示例

在下面的示例中,我们将 Error 的实例传递给 Node.js assert.fail() 函数message 参数。

const assert = require('assert');

const err = new TypeError('Alert, this is a warning...')
assert.fail(err);

输出

当我们编译并运行代码时,该函数不会抛出 AssertionError;而是会抛出 Error

assert.js:77
   if (obj.message instanceof Error) throw obj.message;
   ^
   
TypeError: Alert, this is a warning...
   at Object.<anonymous> (/home/cg/root/639c30a0a5fb2/main.js:3:13)
   at Module._compile (internal/modules/cjs/loader.js:702:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
   at Module.load (internal/modules/cjs/loader.js:612:32)
   at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
   at Function.Module._load (internal/modules/cjs/loader.js:543:3)
   at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
   at startup (internal/bootstrap/node.js:238:19)
   at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

示例

在下面的示例中,我们没有向函数的 message 参数传递任何文本。因此,它将默认消息设置为“Failed”。

const assert = require('assert');
assert.fail();

输出

执行上述程序后,将生成以下输出:

assert.js:79
   throw new AssertionError(obj);
   ^
   
AssertionError [ERR_ASSERTION]: Failed
   at Object.<anonymous> (/home/cg/root/639c30a0a5fb2/main.js:3:8)
   at Module._compile (internal/modules/cjs/loader.js:702:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
   at Module.load (internal/modules/cjs/loader.js:612:32)
   at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
   at Function.Module._load (internal/modules/cjs/loader.js:543:3)
   at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
   at startup (internal/bootstrap/node.js:238:19)
   at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
nodejs_assert_module.htm
广告