• 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
廣告