오류 처리 구문

throw 문

자바스크립트에서 throw 문은 예외를 던지는 데 사용된다. 문법은 다음과 같다.

throw 수식;

try...catch...finally 문

try 문은 예외 처리 대상에 해당하는 코드 블록을 정의한다.

catch 문은 예외를 처리할 코드 블록을 정의한다.

finally 문은 항상 실행되는 정리 코드를 정의한다. 함수가 반환되거나 continue, break 문을 만나 제어 흐름이 try 블록을 벗어나더라도 제어 흐름이 새로운 목적지로 옮겨지기 전에 finally 블록이 실행된다.

예외 처리 예제

throw 문과 try/catch/finally 문의 예는 다음과 같다.

function subtract(x, y){
    if (y >= x){
        throw new Error("x는 반드시 y보다 커야 합니다.")
    }
    return x - y;
}

try{
    console.log(subtract(5,5)); 
}catch(e){
    console.log("---catch 문---"); 
    console.log(e);
}
finally{
    console.log("---finally 문---"); 
}

위 코드를 실행한 결과는 다음과 같다.

---catch 문---
Error: x는 반드시 y보다 커야 합니다.
---finally 문---

try...finally 예제

try와 finally 문은 catch 절 없이도 함께 사용할 수 있다. 예를 들어, 반복문 계수 변수가 continue 문 때문에 순회가 갑자기 종료되는 경우에도 각 순회가 끝날 때 증가하게 하는 데 사용할 수 있다.

var count = 1;
while (count < 5){
    try{
        if (count == 3) continue;
    }
    finally {
        console.log("count = " + count);
        count++;
    }
}

위 코드를 실행한 결과는 다음과 같다.

count = 1
count = 2
count = 3
count = 4

관련 수업

← 이전다음 →