[Vue Dev History] Error 처리에 관한 간단한 포스팅


:raising_hand: Vue 개발 중 공부내용을 기록하는 포스트 입니다.


image

개요


Error 를 처리하는데 필요한 내용을 간단히 포스팅해본다.

Async / Await 에러 처리방안


보통 Async / Await 비동기 구조로 개발을 진행하게 되면 중요하게 에러처리이다.

단순하게 axios를 통해 API요청을 하고 그 응답값을 넣는 구조로 개발을 하면 응답이 200이 아닌 실패가 발생했을때 아래와 같은 상황을 마주한다.

async submitForm() {
			const userData = {
				username: this.username,
				password: this.password,
			};
			const { data } = await loginUser(userData);
			console.log(data.user.username);
			this.logMessage = **${data.user.username} 로그인 되었습니다.**;
			this.initForm();
		},

image

우리는 이 Error 로그를 보면서 LoginPage.vue 에서 발생한거긴 한데 정확히 어디가 문제인지 가시적으로 알기가 힘들다.

따라서, 에러처리try/catch를 통해 개선하면 아래와 같이 문제가 발생한 Line 및 원인에 대해서 조금 더 쉽게 접근할 수 있도록 할 수 있다.

image

웹 개발을 하면서 에러처리에 대해 가장 중요한 부분은 사용자에게 어떤 문제로 인한 오류인지 나타내 주는 부분일 것이다.

따라서, 이러한 부분을 아래와 같이 화면에 표시해 주는 것이 좋을 것 같다.

		async submitForm() {
			try {
				const userData = {
					username: this.username,
					password: this.password,
				};
				const { data } = await loginUser(userData);
				console.log(data.user.username);
				this.logMessage = **${data.user.username} 로그인 되었습니다.**;
				this.initForm();
			} catch (error) {
				this.logMessage = error.response.data;
			}
		},

image