admin管理员组

文章数量:1392101

I want to handle Uncaught (in promise):

TypeError: Cannot read properties of undefined (reading) this error in javascript. I want to alert if this type of error occurs....

How to do this in javascirpt ??

         if(typeof( dataName) === undefined)
                {
                    alert("undefined")
                }

I want to handle Uncaught (in promise):

TypeError: Cannot read properties of undefined (reading) this error in javascript. I want to alert if this type of error occurs....

How to do this in javascirpt ??

         if(typeof( dataName) === undefined)
                {
                    alert("undefined")
                }

Share Improve this question edited Mar 10, 2022 at 9:40 t.niese 40.9k9 gold badges78 silver badges109 bronze badges asked Mar 10, 2022 at 8:47 user17729370user17729370 4
  • put some code and ss of output – Nilesh Mishra Commented Mar 10, 2022 at 8:51
  • 1 did you want to handle the error (.catch), or find the cause of the error (post some code), or prevent the error (check your variables)? – Bravo Commented Mar 10, 2022 at 8:55
  • Does the posted code relate to the question? – traktor Commented Mar 10, 2022 at 9:25
  • 1 typeof returns a string and not undefined so it is either dataName === undefined or typeof( dataName) === 'undefined') to check if dataName is undefined. – t.niese Commented Mar 10, 2022 at 9:41
Add a ment  | 

1 Answer 1

Reset to default 1

The error indicates that your getProduct function is async and that you try to access the property english_name for a variable that is undefined.

So if you want to handle that error you need to handle the error case for the promise chain at some point. Or ensure that the error does not happen at all:

async function getProduct() {
  let dataName = undefined;
  
  dataName.english_name = 1;
}


getProduct().catch(err => {
  console.error('error occured: ',err.message)
});

or

async function getProduct() {
  let dataName = undefined;

  dataName.english_name = 1;
}

async function run() {
  try {
    await getProduct();
  } catch (err) {
    console.error('error occured: ', err.message)
  }
}

run();

typeof returns a string and not undefined so it is either dataName === undefined or typeof( dataName) === 'undefined') to check if dataName is undefined:

async function getProduct() {
  let dataName = undefined;
  if (typeof(dataName) !== 'undefined') {
    dataName.english_name = 1;
  }

  if (dataName !== undefined) {
    dataName.english_name = 1;
  }
}

async function run() {
  try {
    await getProduct();
  } catch (err) {
    console.error('error occured: ', err.message)
  }
}

run();

本文标签: