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