📜  Node.js util.types.isNativeError() 方法

📅  最后修改于: 2022-05-13 01:56:36.945000             🧑  作者: Mango

Node.js util.types.isNativeError() 方法

util.types.isNativeError() (v10.0.0新增)方法是util模块内置的应用程序编程接口,用于识别该值是否为node.js中内置Error类型的实例。如果实例具有内置的“错误”,则返回“真”,否则返回“假”。

句法:

util.types.isNativeError( value )

参数:此方法接受如上所述和如下所述的单个参数:

  • value 它是一个必需参数,可以接受任何变量、Class、 函数、Object 或 JavaScript 原语或任何数据类型。

Return 这将返回一个布尔值,如果实例具有内置的“错误”,则返回“真”,否则返回“假”。

下面的示例说明了 Node.js 中util.types.isNativeError(value)方法的使用。

示例 1:文件名:index.js

// Node.js program to demonstrate the    
// util.types.isNativeError() Method
  
// Import the util module 
const util = require('util');
const {types} = require('util');
  
// Passing no values => Returns false
console.log("1.>", util.types.isNativeError());  
  
// Passing new inbuilt Error => Returns true
console.log("2.>", util.types.isNativeError(new Error())); 
   
// Passing new inbuilt TypeError => Returns true
console.log("3.>", util.types.isNativeError(new TypeError())); 
   
// Passing new inbuilt Error => Returns true
console.log("4.>", types.isNativeError(new RangeError())); 
   
// Passing new inbuilt Error => Returns true
console.log("5.>", util.types.isNativeError(new SyntaxError()));
    
// Passing new inbuilt Error => Returns true
console.log("6.>", types.isNativeError(new ReferenceError()));  

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

node index.js

输出:

1.> false
2.> true
3.> true
4.> true
5.> true
6.> true

示例 2:文件名:index.js

// Node.js program to demonstrate the    
// util.types.isNativeError() Method
  
// Import the util module 
const util = require('util');
const {types} = require('util');
  
// Directly importing and calling types
console.log("1.>", types.isNativeError(new Error("ksdjfhks")));
  
// Passing data/values directly
console.log("2.>", util.types.isNativeError(1234+'45'));  
  
// Passing Error.stack directly
console.log("3.>", util.types.isNativeError(Error.stack));  
  
// Passing util.types.isNativeError() method directly
console.log("4.>", 
util.types.isNativeError(util.types.isNativeError(new Error())));
  
// Passing util.types.isNativeError() method with 'Error'
console.log("5.>", 
util.types.isNativeError(util.types.isNativeError(Error)));
  
// Creating object
const object1 = {};
Error.captureStackTrace(object1);
  
// Passing object
console.log("6.>", util.types.isNativeError(object1.stack)); 
  
// Passing Error.captureStackTrace(object1)
console.log("7.>", 
util.types.isNativeError(Error.captureStackTrace(object1))); 
  
// Passing util.types.isNativeError() method with
/// nested error message
console.log("8.>", 
util.types.isNativeError(util.types.isNativeError(new Error())));
  
// Creating new error
const errorr = new Error('Some Error message');
  
// Passing new Error indirectly 
console.log("9.>", util.types.isNativeError(errorr)); 
  
// Passing error message 
console.log("10.>", util.types.isNativeError(errorr.message)); 
  
// Printing error
console.log("11.>", util.types.isNativeError(
        console.error(errorr.message))); 

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

node index.js

输出:

1.> true
2.> false
3.> false
4.> false
5.> false
6.> false
7.> false
8.> false
9.> true
10.> false
Some Error message
11.> false

参考: https://nodejs.org/api/util.html#util_util_types_isnativeerror_value