JavaScript try - catch - finally 문

try, catch 및 finally 블록은 예외(오류 유형)를 처리하는 데 사용됩니다. 그것들에 대해 배우기 전에 프로그래밍의 오류 유형에 대해 알아야 합니다.

JavaScript try...catch 문:
try...catch 문은 예외를 처리하는 데 사용됩니다. 구문은 다음과 같습니다.

try {
    // body of try
} 
catch(error) {
    // body of catch  
}


주요 코드는 try 블록 안에 있습니다. try 블록을 실행하는 동안 오류가 발생하면 catch 블록으로 이동합니다. catch 블록은 catch 문에 따라 오류를 처리합니다.

오류가 발생하지 않으면 try 블록 내의 코드가 실행되고 catch 블록은 건너뜁니다.

JavaScript try...catch...finally 문:
try...catch...finally 문을 사용하여 예외를 처리할 수도 있습니다. finally 블록은 코드가 성공적으로 실행되거나 오류가 발생할 때 모두 실행됩니다.

try...catch...finally 블록의 구문은 다음과 같습니다.

try {
    // try_statements
} 
catch(error) {
    // catch_statements  
}
finally() {
    // codes that gets executed anyway
}


참고: try 문 다음에 catch 또는 finally 문을 사용해야 합니다. 그렇지 않으면 프로그램에서 오류가 발생합니다.

JavaScript try...catch in setTimeout:
try...catch는 setTimeout()과 같이 "시간 지정"코드에서 발생한 예외를 포착하지 않습니다. 예를 들어:

try {
    setTimeout(function() {
        // error in the code
    }, 3000);
} catch (e) {
  console.log( "won't work" );
}


엔진이 이미 try..catch 구조를 떠났고 함수가 나중에 실행되기 때문에 위의 try...catch는 작동하지 않습니다.

try..catch 블록은 timed 함수 내부의 예외를 catch하기 위해 해당 함수 내부에 있어야 합니다. 예를 들어,

setTimeout(function() {
    try {
        // error in the code
    } catch {
        console.log( "error is caught" );
    }
}, 3000);


또한 try...catch 문과 함께 throw 문을 사용하여 사용자 정의 예외를 사용할 수 있습니다. 예를 들어, 특정 숫자를 0으로 나눕니다. 프로그램에서 무한대를 오류로 간주하려면 throw 문을 사용하여 해당 조건을 처리하는 사용자 정의 예외를 throw할 수 있습니다.

좋은 웹페이지 즐겨찾기