다음을 통해 공유


try...catch...finally 문

업데이트: 2007년 11월

JScript의 오류 처리를 구현합니다.

try {
   [tryStatements]
} catch(exception) {
   [catchStatements]
} finally {
   [finallyStatements]}

인수

  • tryStatements
    선택적 요소. 오류가 발생할 수 있는 문입니다.

  • exception
    필수적 요소. 임의의 변수 이름입니다. exception의 초기 값은 throw된 오류 값입니다.

  • catchStatements
    선택적 요소. 연결된 tryStatement에서 발생하는 오류를 처리하는 문입니다.

  • finallyStatements
    선택적 요소. 다른 모든 오류가 처리된 후 무조건 실행되는 문입니다.

설명

try...catch...finally 문을 사용하면 코드를 실행하면서도 코드 블록에서 발생할 수 있는 오류의 일부 또는 전부를 처리할 수 있습니다. 프로그래머가 처리하지 않은 오류가 발생하면 JScript는 마치 오류를 처리하지 않은 것처럼 사용자에게 보통의 오류 메시지를 제공합니다.

tryStatement 인수는 오류가 발생할 수 있는 코드를 포함하고 catchStatements는 실제로 발생하는 오류를 처리하는 코드를 포함합니다. tryStatement에 오류가 발생하면 프로그램 제어는 catchStatements로 넘어가 처리됩니다. exception의 초기 값은 tryStatement에서 발생한 오류 값입니다. 오류가 발생하지 않으면 catchStatements는 실행되지 않습니다.

오류가 발생한 tryStatement와 관련된 catchStatements에서 오류를 처리할 수 없으면 throw 문을 사용하여 오류를 상위 오류 처리기로 다시 throw하십시오.

tryStatement의 모든 문이 실행되고 catchStatements에서 모든 오류가 처리되면 finallyStatements의 문이 무조건 실행됩니다.

finallyStatements 내의 코드는 try 또는 catch 블록 내에 return 문이 있거나 catch 블록에서 오류를 throw해도 실행됩니다. finallyStatements는 항상 실행됩니다.

예제

다음 예제는 JScript 예외 처리 방법을 보여 줍니다.

try {
   print("Outer try running...");
   try {
      print("Nested try running...");
      throw "an error";
   } catch(e) {
      print("Nested catch caught " + e);
      throw e + " re-thrown";
   } finally {
      print("Nested finally is running...");
   }
} catch(e) {
   print("Outer catch caught " + e);
} finally {
   print("Outer finally running");
}

다음과 같이 출력됩니다.

Outer try running..
Nested try running...
Nested catch caught an error
Nested finally is running...
Outer catch caught an error re-thrown
Outer finally running

요구 사항

버전 5

참고 항목

참조

throw 문

Error 개체