Node.js util.types.isNativeError() Method

The util.types.isNativeError() (Added in v10.0.0) method is an inbuilt application programming interface of the util module which is used to identify whether the value is an instance of a built-in Error type in the node.js. If the instance has an inbuilt ‘Error’ then it returns ‘true’ otherwise returns ‘false’.

Syntax:

util.types.isNativeError( value )

Parameters: This method accepts a single parameter as mentioned above and described below:

value <any>: It is a required parameter that accepts any variable, Class, Function, Object, or JavaScript primitive or any datatype.

Return <Boolean>: This returns a boolean value, If the instance has an inbuilt ‘Error’ then it returns ‘true’ otherwise returns ‘false’.

Below examples illustrate the use of util.types.isNativeError(value) method in Node.js.

Example 1: Filename: index.js 

javascript




// 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())); 


Run index.js file using the following command:

node index.js

Output:

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

Example 2: Filename: index.js 

javascript




// 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 error = new Error('Some Error message');
 
// Passing new Error indirectly
console.log("9.>", util.types.isNativeError(error));
 
// Passing error message
console.log("10.>", util.types.isNativeError(error.message));
 
// Printing error
console.log("11.>", util.types.isNativeError(
        console.error(error.message)));


Run index.js file using the following command:

node index.js

Output:

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

Reference: https://nodejs.org/api/util.html#util_util_types_isnativeerror_value