모자딥 47장 에러 처리

릿·2023년 2월 13일
0

47. 에러 처리

47.1 에러 처리의 필요성


  • 에러가 발생하지 않는 코드를 작성하는 것은 불가능함. 언제나 에러나 예외적인 상황이 발생할 수 있다는 것을 전제하고 이에 대응하는 코드를 작성하는 것이 중요함

47.2 try...catch...finally문


  • 에러를 처리하는 방법 : 예외적인 상황이 발생하면 반환하는 값을 if문이나 단축평가, 옵셔널 체이닝 연산자를 통해 확인해서 처리하는 방법 / 에러 처리 코드를 미리 등록해두고 에러가 발생하면 에러 처리 코드로 점프하도록 하는 방법
try {
  // 실행할 코드 (에러가 발생할 가능성이 있는 코드)
} catch (err) {
  // try코드 블록에서 에러가 발생하면 이 코드 블록의 코드가 실행됨
  // err에는 try코드 블록에서 발생한 Error객체가 전달됨
} finally {
  // 에러 발생과 상관 없이 반드시 한번 실행됨
}

47.3 Error객체


  • Error생성자 함수는 에러 객체를 생성하고, 함수에는 에러 메시지를 인수로 전달할 수 있음
const error = new Error('invalid');
  • 에러 객체는 message프로퍼티와 stack프로퍼티를 가짐

47.4 throw문


  • Error생성자 함수로 에러 객체를 생성한다고 에러가 발생하는 것이 아니기 때문에, 에러를 발생시키려면 try코드 블록에서 throw문으로 에러 객체를 던져야 함
try {
  throw new Error('something wrong');
} catch (err) {
  console.log(error);
}

47.5 에러의 전파


  • 에러는 호출자 방향으로 전파됨
profile
항상 재밌는 뭔가를 찾고 있는 프론트엔드 개발자

0개의 댓글