Home > Software design >  JS: How to get err.code? In my code it is always undefined
JS: How to get err.code? In my code it is always undefined

Time:10-22

I'm trying to get the error code when I catch an error, but it's always undefined.

How do I get the error code?

Here are two examples:

try {
  const f = 4;
  f = 9;
} catch (err) {
  console.log(err.code);
  console.log(err.message);
}


try {
  d = 12;
} catch (err) {
  console.log(err.code);
  console.log(err.message);
}

Console:

undefined
Assignment to constant variable.
undefined 
d is not defined

I work on Node.js v14.17.1.

CodePudding user response:

As the others commented try console.log(err) to see what the object looks like before trying to select properties from it.

I misunderstood the question with my original answer. To my understanding there is no .code property on the error object returned within a try catch block. Check out this documentation https://javascript.info/try-catch#error-object and try error.name.

CodePudding user response:

A standard Javascript/Ecmascript error has no code property. See the Error docs for details.

The link you provide, from Node's Errors documentation pertains only to custom errors thrown by Node.js — Javascript errors thrown by, say, V8 will adhere to Javascript standard referenced in the 1st link above.

  • Related