inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

예외 통합 (섹션 14 과제 후 추가 영상)

예외 통합 강의 질문

해결된 질문

231

작성자 없음

작성한 질문수 0

0

 안녕하세요

 

import.service.ts의 checkPaid 메서드 부분입니다.

axios와 http 예외를 통합하기 위해서 다음처럼 작성하였는데

옵셔널 체이닝부분 관련 질문이 있습니다.

throw new HttpException(
        error.response.data?.message || error.response.message,
        error.response.status || error.response.statusCode,
      );

 

옵셔널 체이닝이 data가 있는지 여부를 보고 있으면 다음을 보내고

error.response.data.message

없으면 다음을 보내는데

error.response.message

다음처럼 옵셔널 체이닝 없이 작성한다면 오류가 발생하나요?

throw new HttpException(
        error.response.data.message || error.response.message,
        error.response.status || error.response.statusCode,
      );

 

javascript node.js express docker tdd rest-api nestjs

답변 1

0

노원두

안녕하세요! rjs2517님!

없는데(null) 점(.)을 누르면 예외가 발생합니다!

일반적으로 여러 많은 언어들에서 널(null) 포인터(.) 익셉션(exception) 이라고 불러요!^^

 

아래의 예시를 참고해주세요!

const profile1 = {
   name: "철수"
};

const profile2 = undefined;

const profile3 = null;

 

아래는 위 상황에 대한 결과예요!

profile1.age // undefined

profile2.age // 에러발생("profile2가 없는데 무슨 .이냐!")

profile3.age // 에러발생("profile3이 없는데 무슨 .이냐!")

 

따라서 해당 에러로 발생하는 에러 상황을 막기 위해서는 옵셔널체이닝을 활용하여 undefined로 변경해 주시면 되겠어요!^^

그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?

0

84

2

강의 전체 소스 코드를 받고싶습니다.

0

76

2

fontawesome 사용 문의

0

79

2

소스 코드 부탁드립니다~

0

85

2

깃 레포지터리 소스

0

85

2

커리큘럼12.css 정렬 에 나오는 과제 정답알고싶어요

0

73

2

10-01 Entity TypeOrmModule.forRoot 에 entities

0

88

3

강의 버전관련 문의입니다

0

103

2

Ubuntu 설치 관련

0

61

1

schema.gql 질문 드립니다.

0

51

1

서버 재실행시 Many to Many

0

102

3

input 관련 문의

0

90

2

Rest API 보다는 graphql이 주된 내용인데

0

131

2

강의 전체 소스코드 받을수있을까요?

0

156

1

도커볼륨 마운트 관련

0

127

2

findOne 타입스크립트오류

0

109

1

http => htrtps 호출 인증서 신뢰 오류

0

353

1

self-signed certificate in certificate chain 에러 발생

0

417

1

mongoose 설치 오류

0

142

1

특정 API, 특정 IP 허용 (단일경로에 CORS 활성화)

0

283

2

08-06

0

180

3

구조랑 패턴 관련해서 질문

0

125

2

mydocker

0

128

2

coolsms statuscode 2000 인데 전송안돼는 경우 확인.

0

156

1