(JS) Error Handling

Mirrer·2022년 5월 2일
0

JavaScript

목록 보기
16/24
post-thumbnail

에러 처리 (Error Handling)

발생한 에러를 개발자가 직접 처리

에러 처리란 에러의 발생을 작업자가 직접 처리하는 것을 말한다.

기본적인 형식은 try ~ catch ~ finally구문을 사용하며 try실행 코드, catch에러가 발생했을 때 처리 코드, finally는 try, catch문 이후에 실행될 코드를 의미한다.

function readFile(path) {
  throw new Error('파일 경로를 찾을 수 없음');
  return '파일의내용';
}

function processFile(path) {
  let content;
  try {
    content = readFile(path);
  } catch (error) {
    console.log(error.name);
    console.log(error.message);
    console.log(error.stack);
    content = '기본내용';
  } finally {
    console.log('성공하든 실패하든 마지막으로 리소스를 정리할 수 있음!');
  }
  const result = 'hi ' + content;
  return result;
}

const result = processFile('경로');
console.log(result);

에러 버블링

`에러 버블링(Bubbling up) 또는 **Propagating`은 _에러가 전파되어 올라가는 현상**_을 말한다.

특정한 곳에서 발생한 에러는 발생지부터 최종적으로 호출한 코드까지 에러가 전파된다.

즉 발생한 에러를 처리할 때는 효과적으로 처리할 수 있는 곳에서 해결하는 것이 좋다.

function a() {
  // 에러 발생
  throw new Error('error!');
}

function b() {
  // 에러 전파
  a();
}

function c() {
  // 에러 전파  
  b();
}

try {
  c();
} catch (error) {
  console.log('Catched!');
}
console.log('done!');

참고 자료

제어 흐름과 오류 처리 - JavaScript | MDN
모던 자바스크립트 Deep Dive
모던 JavaScript 튜토리얼

profile
memories Of A front-end web developer

0개의 댓글