• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

9:12 에러 예외처리에 대해서 궁금합니다

20.10.11 14:16 작성 조회수 179

0

try {

        if (!this.inputTitle) {

          throw new Error("타이틀 제목을 입력해주세요!");

        }

        const id = this.list.id;

        const title = this.inputTitle;

        if (title === this.list.title) return (this.isEditTitle = false);

        this.UPDATE_LIST({ id, title }).then(_ => (this.isEditTitle = false));

      } catch (err) {

        alert(err.message);

        return;

      } finally {

      }

현재는 title이 공백일 경우, 변경이 없을 경우 return; 을 이용해서 함수를 종료시키고 있습니다.
여기서 추가적인 예외처리를 통해 사용자에게 오류가 났다는 정보를 전달하고 싶은데, 이렇게 try catch를 이용하면 될까요??


강사님의 경우에는 어떻게 작성하시는지 여쭤보고싶습니다.

답변 1

답변을 작성해보세요.

1

저도 try/catch 문을 사용해서 예외 처리에 많이 사용합니다. "추가적인 예외처리"라고 하면 아마 api 응답 오류일 것 같은데요. UPDATE_LIST() 함수 일 것 같네요. 이 함수는 비동기라서 기대하는 대로 try/catch가 동작하지 않을 수 있습니다.

저는 최근에 try/catch문을 사용할때 async/wait을 사용하는데요, 비동기 예외처리에 적합합니다. 

async function onSubmitTitle() {
  try {
    await UPDATE_LIST()
    this.isEditeTitle = false
  } catch (err) {
    // 예외 처리 (비동기 로직의 오류도 여기서 잡아낼수 있습니다
  }
}

아직 강의에서 사용해 보진않았는데 확인해보고 다시 말씀드릴게요.