본문 바로가기
javascript

JavaScript 시도 - catch - finaly 문

by it-square 2021. 12. 30.
반응형

try, catch, 그리고 마지막으로 블록을 사용하여 예외(오류 유형)를 처리합니다. 그것들을 배우기 전에, 여러분은 프로그래밍의 오류 유형에 대해 알 필요가 있습니다.

JavaScript 시도…Catch 문:
try…catch 문은 예외를 처리하는 데 사용됩니다. 이것의 문법은 다음과 같다:

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

메인 코드는 트라이 블록 안에 있습니다. 트라이 블록을 실행하는 동안 오류가 발생하면 캐치 블록으로 이동합니다. 캐치 블록은 캐치 문에 따라 오류를 처리합니다.

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

 

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

try…catch…finally block의 문법은 다음과 같습니다.

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

참고: try 문 뒤에 catch 또는 final 문을 사용해야 합니다. 그렇지 않으면 프로그램이 오류를 발생시킵니다.

JavaScript 시도setTimeout에서 캐치:
try…catch는 setTimeout()과 같이 "timed" 코드에서 발생한 경우 예외를 발견하지 못합니다. 예:

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

위의 시도…엔진이 이미 시도에서 나가 버렸기 때문에 캐치가 작동하지 않습니다.캐치 생성과 함수는 나중에 실행됩니다.

시도는..캐치 블록은 해당 함수 내부에 있어야 시간 함수 내에서 예외를 포착할 수 있습니다. 예를 들어,

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

try…catch 문과 함께 drow 문을 사용하여 사용자 정의 예외를 사용할 수도 있습니다. 예를 들어, 어떤 숫자는 0으로 나눕니다. 프로그램의 오류로 Infinity를 고려하려는 경우, 해당 조건을 처리하기 위해 srow 문을 사용하여 사용자 정의 예외를 발생시킬 수 있습니다.

 

댓글