Node.js 中的断言模块

assert 模块提供了一系列用于函数断言的不同功能。该模块提供了这些用于验证程序中的不变量的函数。我们可以使用断言进行空检查或其他不同的检查。断言不会影响任何正在运行的实现。它只检查条件并在错误不满足时抛出错误。

安装断言模块

npm install assert

assert 模块是一个内置Node.js模块,因此您也可以跳过此步骤。

在您的函数中导入模块

const assert = require("assert");

示例

const assert = require('assert');
let x = 3;
let y = 21;
assert(x>y);
输出结果
C:\home\node>> node assert.js
assert.js:339
   throw err;
   ^
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
   assert(x>y)
      at Object. (/home/node/mysql-test/assert.js:6:1)
      atModule._compile(internal/modules/cjs/loader.js:778:30)
      at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
      atModule.load(internal/modules/cjs/loader.js:653:32)
      at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
      at Function.Module._load (internal/modules/cjs/loader.js:585:3)
      at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
      at startup (internal/bootstrap/node.js:283:19)
      at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)

示例

让我们再看一个例子。在上面的程序中,我们没有处理错误。我们告诉系统为我们处理这个错误。因此,它会打印所有系统日志。在这个例子中,我们将使用try()&catch()块处理任何错误。

const assert = require('assert');

let x = 3;
let y = 21;

try {
   // 检查条件...
   assert(x == y);
}
catch {
   // 如果发生错误,则打印错误
   console.log(
      `${x} is not equal to ${y}`);
}
输出结果
C:\home\node>> node assert.js
3 is not equal to 21