타 프로그래밍 언어는 오류와 예외를 구분하지만 자바스크립트는 모두 오류로 칭한다.
그렇다면 타 프로그래밍 언어에서는 어떤 걸 오류라고 하고 어떤 걸 예외라고 할까?
오류란?
큰 의미로 오류와 예외를 모두 포함한다. 작은 의미로는 프로그램을 실행하기 전에 발생하는 문법적 오류들을 포함한다.
괄호 개수가 다르거나 철자를 잘못 쓴 경우에 오류의 작은 의미에 해당된다.
예외란?
프로그램을 실행하며 발생하는 논리적 오류를 포함한다.
가령 undefined 자료형을 일반적 객체 혹은 함수처럼 다뤘을 때처럼 논리적인 오류가 발생했을 때 예외에 해당된다.
오타는 수정하면 되지만 예외는?
예외의 처리 방법은 기본 예외 처리와 고급 예외 처리로 나뉜다.
간단하게 조건문 등으로 예외가 발생할 경우를 따져 예방한다.
고급 예외 처리 방법은 try catch finally 구문으로 try 키워드, catch 키워드, finally 키워드를 사용해 예외를 처리하는 방법이다.
try {
예외 발생 시
{ catch (excepthion) {
여기서 처리한다.
} finally {
여기는 무조건 실행한다.
}
만약 catch 구문이나 finally 구문이 필요치 않다면 해당 부분을 생략한다.
try {
예외 발생 시
} catch (exception) {
여기서 처리한다.
}
-------------------------------
try {
예외 발생 시
} finally (exception) {
여기는 무조건 실행한다.
}
예외가 발생했을 때 어떤 예외인지 알기 위해 사용한다.
예외 객체는 catch 구문의 괄호 안에 들어있는 변수를 나타낸다. 변수이므로 원하는 이름으로 정할 수 있으나 통상적으로 exception을 사용한다.
그렇다면 내가 예외인 상황을 사전에 규정하고 싶은 경우에는 어떻게 할까?
그럴 경우 throw 키워드로 예외를 발생시킨다.
throw '강제 예외';
이 글을 끝으로 기본적인 문법에 대한 정리를 마쳤으므로
자바스크립트의 더 세부적인 사항들을 공부하고자 한다.