더북(TheBook)

3.4.3 try-catch 문으로 에러 처리하기

Promise에는 catch()라는 에러 처리 메서드가 있지만 await에는 없습니다. 그래서 다음 코드는 에러가 발생합니다.

const p1 = new Promise((resolve, reject) => {
  reject('에러!');
});
await p1;
Uncaught 에러!

이때는 try-catch 문으로 감싸 줘야 합니다. 그러면 reject()의 인수로 넣었던 값이 catch 문의 error로 전달됩니다.

const p1 = new Promise((resolve, reject) => {
  reject('에러!');
});
try {
  await p1;
} catch (error) {
  console.log(error); 
}
에러!
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.