TIL 7 | JavaScript - 예외처리

예외처리

JavaScript에서 코드 실행 중에 예기치 못한 에러가 발생했을 때, 이로부터 코드의 실행 흐름을 복구할 수 있는 기능이 내장되어있는데 이런 기능을 예외처리라고 한다.

오류의 종류

구문오류(Syntax Error) - 프로그램 실행 전에 발생하는 오류
예외(Exception) 또는 런타임 오류 - 프로그램 실행중에 발생하는 오류

구문오류

괄호의 짝을 맞추지 않았다든지, 문자열을 열어쓴데 닫지 않았다든지 할때 발생하는 오류.
이러한 구문오류가 있으면 웹브라우져가 코드를 분석조차 하지 못하므로 실행되지 않는다.

console.log("괄호를 닫지 않았습니다"	//Syntax Error

이러한 오류는 위치를 정확하게 짚어서 알려줘서 쉽게 해결할 수 있는 오류에 속한다.

예외

console.rog("log를 rog로 입력하였습니다.);

이러한 경우 일단 코드는 실행이 되고 오류가 발생한다.
JS에서 SyntaxError 라고 출력되는 오류 이외의 모든 오류(TypeError,ReferenceError,RangeError) 가 예외로 분류된다.

기본 예외처리

조건문을 사용해서 예외가 발생하지 않게 만드는 것을 기본 예외처리라고 한다.

자바스크립트는 다른 프로그래밍 언어와 비교해서 굉장히 유연하기 때문에 예외가 발생할 가능성이 적은편이다. 하지만 프로그램에 문제가 발생했는데도 죽지않고 실행되면 계속해서 문제를 만들 가능성이 있다. 따라서 문제가 발생할 수 있는 부분은 조건문등으로 처리해주어야 한다.

고급 예외처리

try catch finally 구문

try {
  //	예외가 발생할 가능성이 있는 코드
} catch (exception) {
  //	예외가 발생했을 때 실행할 코드
} finally {
  //	무조건 실행할 코드(finally 구문은 필요한 경우에만 사용.)
}

try 구문안에서 예외가 발생하면 더이상 try 구분을 진행하지 않고 catch 구문을 실행한다.
try 구문에서 예외의 발생유무와 상관없이 finally 구문은 무조건 실행된다.

finally 구문의 유무차이

  • try catch 구문 내부에서 return 키워드를 만날때.
  • try catch 구문 내부에서 break 또는 continue 키워드를 만날때.

예외객체

try catch 구문을 사용할 때 catch의 괄호안에 입력하는 식별자.
아무 식별자나 입력해도 괜찮지만 일반적으로 e나 exception이라는 식별자를 사용한다.

try {
  
} catch (exception) {
  
}

예외객체의 속성

name - 예외 이름
message - 예외 메시지

예외 강제발생

상황에 따라 예외를 강제로 발생시켜야 하는 경우가 생기는데 이때 throw 키워드를 사용한다.

throw 문자열		// 단순하게 예외를 발생시킬때 사용
throw new Error(문자열)	// 조금 더 자세하게 예외를 발생시킬때 사용

TIL 7 day
오늘 배운 내용 오늘 정리하기
TIL 쓸때 실제로 쳐본 코드 많이 활용하기✍🏻

좋은 웹페이지 즐겨찾기