인프런 커뮤니티 질문&답변

임동규(DongGyu Im)님의 프로필 이미지
임동규(DongGyu Im)

작성한 질문수

탄탄한 백엔드 NestJS, 기초부터 심화까지

고양이 데이터 Create Read API 개발

error.massage 오류나는 이유

작성

·

355

0

강의를 보고 error: error.message를 작성했는데 왜 catch(error: any) 를 작성했을 때만 에러표시가 뜨지 않는 건지 궁금합니다..!

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

에러메시지를 작성하고 있다가 catch(error: any)를 작성했을 때만 에러 표시가 뜨는 이유에 대해 궁금하시군요.

일반적으로 catch문은 try문에서 발생한 에러를 처리하기 위해 사용됩니다. 에러가 발생한 코드 블록(try문)의 에러를 catch문에서 받아 처리하게 되는데, 이때 catch문에서 에러 객체를 매개변수로 받아서 사용할 수 있습니다.

error.message는 실제로 에러 객체에서 발생된 메시지를 나타내는 속성입니다. 따라서 catch문에서 error.message를 사용하려면 반드시 에러 객체를 매개변수로 받아야 합니다. 이때 매개변수 이름은 에러 객체를 나타내는 것이어야 합니다. 일반적으로 ‘error’나 ‘err’와 같은 이름을 많이 사용합니다.

만약 catch문에서 매개변수 이름을 ‘error’로 지정하지 않으면 해당 catch문에서는 에러 객체를 인식하지 못하고, 따라서 error.message를 사용하면 에러가 발생하게 됩니다.

따라서 catch(error: any)와 같이 선언하여 catch문에서 에러 객체를 명확하게 받아와 사용하게 되면, error.message를 사용할 때 문제가 생기지 않습니다.

혹시 이 외에도 더 궁금한 점이 있다면 댓글로 남겨주세요. 감사합니다.

임동규(DongGyu Im)님의 프로필 이미지
임동규(DongGyu Im)

작성한 질문수

질문하기