본문 바로가기
자바스크립트

[Javascript] try...catch throw 문법

by devebucks 2022. 4. 25.
728x90

의도적으로 에러를 발생시켜서 수행하려는 로직에 예외가 발생했을 때, 예외처리를 테스트할 수 있는 방법이다.

 

throw + Error 객체

try {
  // 원래 코드 주석함.
  throw new Error('에러 메시지'); // 👈 
} catch(err) {
  console.error(`[${err.name}] ${err.message}`);
  // 사용자에게 보여줄 에러 메시지를 추가할 수도 있다.
}

 

 

 

Nuxt는 vuex store action에서 api요청 함수를 만든다.

 

action에 만든 함수를 vue 컴포넌트로 호출해서 사용한다.

이때, 에러처리 방법.

 

Vue 컴포넌트

methods: {
  async 메서드() {
      try {
        await this.액션API함수({ groupNo });
      } catch (error) {
        console.log(error.response);
        console.log(error.response.data);
        console.error(error);
        this.errorAlert(error);
      } 
    },
}

 

 

actions api 호출 함수

export const actions = {
  async 메서드(_, { groupNo }) {
    try {
      const { result } = await this.$axios.$post(
        `/v2.1/냠냠냠/${groupNo}`,
        {
          responsibilityType: 1,
          message,
          scheduleId: 'ㅂㅈㄷㅂㅈ',
          groupNo,
        },
      );
      return result; // true
    } catch (error) {
      console.error(error.response);
      throw error;  // 👈 에러를 컴포넌트 try ... catch로 전달
    }
  },
}
728x90

댓글