작성자 없음
작성자 정보가 삭제된 글입니다.
해결된 질문
작성
·
184
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,
);
답변 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로 변경해 주시면 되겠어요!^^