예외처리의 필요성

예상치 못하게 발생한 에러를 잘 처리해야 프로그램 전체가 멈추지 않고 동작할 수 있음

Try, Catch, Finally

try {
	// 실행하고 싶은 코드
	// 여기서 실행하다가 에러가 발생하면 catch 블록으로 이동
	throw {전달할 e 값};		// catch 블록으로 이동
}
catch (e) {
	// 에러가 발생했을 때,
	// 에러를 파라미터로 받아서 처리함
}
finally {
	// 가장 마지막에 항상 실행되어야 할 코드
}
  • try는 반드시 있어야 함
  • catch나 finally는 둘 중 하나만 있어도 실행 가능
  • throw : 에러를 발생시키는 명령어

에러 처리 과정

throw가 발생하면 catch 구문을 찾아서 이동

  • 현재 블록에 catch나 finally가 없는 경우 상위 블록이나 호출한 함수로 이동
  • catch가 존재하지 않는 경우, finally를 실행하고, catch 될 수 있는 구문을 찾아서 이동
  • catch 구문에서 에러가 처리되고, 이후 코드를 실행