return false 대신 try catch
function TokenAPI(phNumber){
try {
checkPhoneState(phNumber); //휴대폰 상태 점검
} catch (error) {
console.log(error);
}
const token = createToken(); //토큰발급
sendToken(phNumber,token); //휴대폰에 토큰 발송
}
function checkPhoneState(phNumber){
if(phNumber.length != 11){
throw new Error("올바르지 않은 번호입니다.");
}
else if(isNaN(phNumber) != false){
throw new Error("올바르지 않은 번호입니다.");
}
}
function createToken(){
return String(Math.floor(Math.random() * 1000000)).padStart(6,"0");
}
function sendToken(phNumber,token){
console.log(phNumber + "번호로 인증번호 " + token + "이 전송되었습니다.");
}
이런식으로 try catch 써도 되나요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
네, 제공해주신 코드에서 try catch를 사용하는 것은 적절합니다. 휴대폰 번호의 상태를 점검할 때 발생할 수 있는 에러를 잡기 위해 try 블록 안에서 checkPhoneState 함수를 호출하고 있고, 해당 함수에서 조건에 맞지 않는 경우 Error 객체를 throw하여 예외를 발생시키고 있습니다. 그리고 catch 블록에서는 에러가 발생했을 때 로그를 찍어주고 있습니다. 이렇게 에러 핸들링을 함으로써 프로그램이 예외상황에서도 중단되지 않고, 에러를 로깅하거나 다른 처리를 할 수 있어 안정성을 높일 수 있습니다.
다만, 현재의 코드에서는 checkPhoneState 함수에서 발생한 에러를 기록만 할뿐, 토큰 생성과 발송을 중지하지 않고 계속 진행하고 있습니다. 사용자에게 토큰을 발송하지 않고 프로세스를 중단하려면 catch 구문에서 return 문을 추가하여 함수가 즉시 종료되도록 처리할 필요가 있습니다.
또한 실제 프로덕션 코드에서는 콘솔 로그보다는 로그 파일에 기록하거나 모니터링 시스템에 에러를 보고하는 등의 더 견고한 에러 핸들링이 필요할 수 있습니다.
그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?
0
82
2
강의 전체 소스 코드를 받고싶습니다.
0
75
2
fontawesome 사용 문의
0
76
2
소스 코드 부탁드립니다~
0
85
2
깃 레포지터리 소스
0
80
2
커리큘럼12.css 정렬 에 나오는 과제 정답알고싶어요
0
72
2
10-01 Entity TypeOrmModule.forRoot 에 entities
0
84
3
강의 버전관련 문의입니다
0
102
2
Ubuntu 설치 관련
0
60
1
schema.gql 질문 드립니다.
0
50
1
서버 재실행시 Many to Many
0
100
3
input 관련 문의
0
89
2
Rest API 보다는 graphql이 주된 내용인데
0
130
2
강의 전체 소스코드 받을수있을까요?
0
154
1
도커볼륨 마운트 관련
0
126
2
findOne 타입스크립트오류
0
108
1
http => htrtps 호출 인증서 신뢰 오류
0
348
1
self-signed certificate in certificate chain 에러 발생
0
410
1
mongoose 설치 오류
0
141
1
특정 API, 특정 IP 허용 (단일경로에 CORS 활성화)
0
280
2
08-06
0
177
3
구조랑 패턴 관련해서 질문
0
124
2
mydocker
0
128
2
coolsms statuscode 2000 인데 전송안돼는 경우 확인.
0
156
1





