当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js assert.throws()用法及代码示例


assert 模块提供了一组用于验证不变量的断言函数。 assert.throws() 用于当代码根据特定情况抛出异常时,捕获错误对象进行测试和比较。

用法:

assert.throws(fn[, error][, message])

Parameters: 

该函数接受上面提到的以下参数,如下所述:

  • fn:此参数是一个不会引发错误的函数。
  • error:此参数是正则表达式或函数。这是指定的错误。它是一个可选参数。
  • message:此参数保存字符串或错误类型的错误消息。它是一个可选参数。

返回值:此函数返回对象类型的断言错误。

安装断言模块:

npm install assert

注意:安装是一个可选步骤,因为它是一个内置的 Node.js 模块。

2. 安装assert模块后,您可以在命令提示符下使用命令查看您的assert版本。

npm version assert

3. 之后,您可以创建一个文件夹并添加一个文件,例如 index.js,如下所示。

范例1:

index.js


// Requiring the module 
const assert = require('assert'); 
      
var invalidNum = function(){
    throw console.log("Invalid Number")
};
  
var someFunc = function(a){
    if(a>10){
        invalidNum();
    }
    else{
        console.log("Valid number");
    }
};
  
assert.throws(function(){
    someFunc(5);
});

运行程序的步骤:

使用以下命令运行index.js文件:

node index.js

输出:

Valid number
assert.js:105
 throw new AssertionError(obj);
 ^
AssertionError [ERR_ASSERTION]:Missing expected exception.
   at Object.<anonymous> (F:\Blogs\GFG\Assert.throw\index.js:18:8)
   at Module._compile (internal/modules/cjs/loader.js:1063:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
   at Module.load (internal/modules/cjs/loader.js:928:32)
   at Function.Module._load (internal/modules/cjs/loader.js:769:14)
   at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
   at internal/main/run_main_module.js:17:47 {
 generatedMessage:false,
 code:'ERR_ASSERTION',
 actual:undefined,
 expected:undefined,
 operator:'throws'
}

范例2:

index.js


// Requiring the module 
const assert = require('assert'); 
      
var invalidNum = function(){
    throw console.log("Invalid Number")
};
  
var someFunc = function(a){
    if(a>10){
        invalidNum();
    }
    else{
        console.log("Valid number");
    }
};
  
assert.throws(function(){
    someFunc(12);
});

运行程序的步骤:

使用以下命令运行index.js文件:

node index.js

输出:

Invalid Number

参考: https://nodejs.org/api/assert.html#assert_assert_throws_fn_error_message


相关用法


注:本文由纯净天空筛选整理自harshalraikwar07大神的英文原创作品 Node.js assert.throws() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。