
axios.isAxiosError와 일반 catch 차이점 정리axios 사용 후에 catch()블록에서 axios.isAxiosError(error)를 사용할지, 일반 catch (error)와의 차이가 궁금했음.
axios.isAxiosError(error)를 사용하는 경우} catch (error) {
if (axios.isAxiosError(error)) {
console.error("Error details:", {
status: error.response?.status,
message: error.response?.data?.message,
data: error.response?.data,
});
if (error.response?.status === 409) {
Alert.alert("알림", error.response?.data?.message || "이미 참가 신청한 매치입니다.");
} else {
Alert.alert("오류", "참가 신청 중 오류가 발생했습니다.");
}
}
}
error.response를 확인하여 서버에서 온 응답(예: 409, 500 등)에 따라 다르게 처리 가능catch (error)를 사용하는 경우} catch (error) {
console.error("에러 발생:", error);
Alert.alert("매칭 신청에 실패했습니다.");
}
error.response를 체크하지 않기 때문에 서버 응답과 무관하게 동일한 메시지를 출력| 상황 | axios.isAxiosError(error) 사용 | 일반 catch (error) 사용 |
|---|---|---|
| 서버에서 온 응답(status code)에 따라 다르게 처리해야 함 | ✅ | ❌ |
| 네트워크 오류(CORS, 요청 실패)만 구분해서 처리하고 싶음 | ✅ | ❌ |
| 모든 에러를 한꺼번에 처리하고 싶음 | ❌ | ✅ |
| 코드 실행 중 발생하는 일반적인 에러도 잡고 싶음 | ❌ | ✅ |
axios.isAxiosError(error) 사용catch (error) 사용