러닝 자바스크립트 스터디 자료 - CHAPTER 11. 예외와 에러 처리

견고하고 품질 좋은 소프트웨어를 만드는 첫 번째 단계는 에러가 일어날 수 있다는 사실을 받아들이는 것이다.
두 번째 단계는 에러를 예상하고 타당한 방법으로 처리하는 것이다.

예외처리는 에러를 컨트롤 하는 매커니즘이다.
에러처리라고 하지 않고 예외처리라고 하는 이유는 예상치 못한 상황에 대처하는 방식이기 때문이다.

Error 객체

자바스크립트에는 내장된 Error 객체가 있고 이 객체는 에러 처리에 간편하게 사용할 수 있다.
Error 인스턴스를 만들면서 에러 메세지를 지정할 수 있다.

1
const err = new Error(‘invalid email’);

try/catch와 예외처리

에러를 캐치하면 프로그램은 멈추지 않는다. 에러를 기록하고 계속 진행 할 수 있다.
문제가 해결된것은 아니다. 최소한 앞뒤 사정을 모르고 그냥 멈추는 일은 막을 수 있다.

실행 흐름은 에러가 일어나는 즉시 catch 블록으로 이동
try블록안에 쓸수 있는 문의 숫자에 제한은 없다.
에러가 일어나지 않으면 catch블록은 실행 되지 않는다.

예외처리와 호출스택

완료되지 않은 함수가 쌓이는 것을 호출스택이라고 부른다.
에러는 캐치될때까지 호출스택을 따라 올라간다.
에러는 호출스택 어디에서든 캐치 할수 있다.

try … catch … finally

finally블록은 에러가 일어나든 일어나지 않든 반드시 호출된다.

예외 처리하는 데에도 비용이 발생한다.
프로그램을 일부러 멈추려 하는게 아니라며 예외를 일으켰으면 반드시 캐치해야 한다.
예외처리는 예상 할수 없는 상화에 대비한 마지노선이다.
예상 할수 있는 에러는 조건문으로 처리하는 것이 최선이다.

댓글

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×