Skip to content

Commit

Permalink
♻️ 에러처리 로직 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
jangmoonwon committed Jul 28, 2024
1 parent ceaaeec commit 192e06e
Showing 1 changed file with 48 additions and 23 deletions.
71 changes: 48 additions & 23 deletions src/hooks/useRegisterMutation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,36 +15,61 @@ const useRegisterMutation = () => {
router.push('/');
},
onError: (error) => {
if (!isAxiosError(error)) {
toast({
description: '네트워크 오류가 발생했습니다. 인터넷 연결을 확인해주세요.',
className: 'border-state-error text-state-error font-semibold',
});
return;
}
if (isAxiosError(error)) {
const { status, data } = error.response || {};

const { status } = error.response || {};
if (!status) return;

if (status === 400) {
toast({
description: '이미 사용중인 이메일입니다.',
className: 'border-state-error text-state-error font-semibold',
});
return;
}
if (status === 400) {
const errorMessage = data?.message || '잘못된 요청입니다. 입력 값을 확인해주세요.';

if (errorMessage.includes('이미 사용중인 이메일')) {
toast({
description: '이미 사용중인 이메일입니다.',
className: 'border-state-error text-state-error font-semibold',
});
return;
}

toast({
description: errorMessage,
className: 'border-state-error text-state-error font-semibold',
});
return;
}

if (status === 500) {
const errorMessage = data?.message || '서버 오류가 발생했습니다. 잠시 후 다시 시도해주세요.';

// NOTE: swagger 문서에서 중복된 닉네임은 500에러와 함께 "Internal Server Error" 메시지로 응답 옴
if (errorMessage.includes('Internal Server Error')) {
toast({
description: '이미 존재하는 닉네임입니다.',
className: 'border-state-error text-state-error font-semibold',
});
return;
}

toast({
description: errorMessage,
className: 'border-state-error text-state-error font-semibold',
});
return;
}

if (status >= 500) {
toast({
description: '서버 오류가 발생했습니다. 잠시 후 다시 시도해주세요.',
className: 'border-state-error text-state-error font-semibold',
});
return;
}

if (status === 500) {
toast({
description: '이미 존재하는 닉네임입니다.',
description: '알 수 없는 오류가 발생했습니다. 잠시 후 다시 시도해주세요.',
className: 'border-state-error text-state-error font-semibold',
});
return;
}

toast({
description: '알 수 없는 오류가 발생했습니다. 잠시 후 다시 시도해주세요.',
className: 'border-state-error text-state-error font-semibold',
});
},
});
};
Expand Down

0 comments on commit 192e06e

Please sign in to comment.