자바스크립트 기본 문법 – 오류 처리 – 1 – finally문

자바스크립트 기본 문법 – 오류 처리 – 1 – finally문

소제목: finally문의 역할과 사용 방법

finally문은 자바스크립트에서 예외 처리를 할 때 사용되는 중요한 키워드입니다. try-catch-finally 블록에서 예외 발생 여부에 관계없이 항상 실행되는 코드를 포함할 수 있습니다. finally문은 예외 처리의 마무리 작업이나 리소스 정리 등에 유용하게 사용됩니다.

예시를 통해 쉽게 이해해보겠습니다. 예를 들어, 여러분이 초콜릿을 만들기 위해 재료를 섞는 과정을 자바스크립트 코드로 표현한다고 가정해봅시다. 재료를 제대로 섞을 때는 문제가 없지만, 섞는 과정에서 오류가 발생할 수도 있습니다. 오류가 발생하면 catch문에서 예외 처리를 하고, 그 후에는 어떤 일이 있어도 finally문이 실행됩니다. finally문은 마지막에 항상 호출되는 블록이라고 생각하시면 됩니다.

try {
  // 초콜릿을 만들기 위한 재료를 섞는 작업
} catch (error) {
  // 오류 처리
} finally {
  // 항상 실행되어야 하는 작업 (마무리 작업, 리소스 정리 등)
}

소제목: finally문 사용 예시

다음은 예시를 통해 finally문의 사용 방법을 자세히 알아보겠습니다.

function divide(a, b) {
  try {
    if (b === 0) {
      throw new Error("0으로 나눌 수 없습니다!");
    }
    return a / b;
  } catch (error) {
    console.error("오류가 발생했습니다: " + error.message);
    return null;
  } finally {
    console.log("나눗셈 연산이 완료되었습니다.");
  }
}

console.log(divide(10, 2));  // Output: 5
console.log(divide(10, 0));  // Output: 오류가 발생했습니다: 0으로 나눌 수 없습니다!

위의 코드에서 divide 함수는 두 숫자를 인자로 받아 나눈 결과를 반환합니다. try 블록에서는 나누는 숫자가 0인 경우 예외를 발생시키고, catch 블록에서 해당 예외를 처리합니다. 그리고 finally 블록은 항상 실행되므로 “나눗셈 연산이 완료되었습니다.”라는 메시지를 출력합니다.

첫 번째 divide 함수 호출에서는 10을 2로 나눈 결과인 5가 출력되고, 두 번째 divide 함수 호출에서는 0으로 나누기 때문에 예외가 발생합니다. catch 블록에서는 오류 메시지를 출력하고, finally 블록은 예외 발생 여부와 관계없이 실행되어 “나눗셈 연산이 완료되었습니다.”라는 메시지를 출력합니다.

주의해야 할 점

finally문을 사용할 때 주의해야 할 몇 가지 사항이 있습니다.

  1. finally문은 선택적으로 사용할 수 있습니다. try-catch문만 사용해도 예외 처리가 가능하지만, finally문은 예외 발생 여부와 관계없이 항상 실행되어야 하는 작업을 처리할 때 유용합니다.

  2. finally문은 catch문과 함께 사용할 수도 있고, try문과 함께 사용할 수도 있습니다. try-catch-finally 블록의 순서는 중요하지 않으며, 코드의 구조와 요구사항에 따라 유연하게 사용할 수 있습니다.

  3. finally문 안에서 return 문을 사용하면, finally문의 코드 실행을 중단하고 함수를 종료합니다. 즉, finally문 안에서의 return은 함수의 최종 반환 값을 설정합니다. 따라서 반환할 값이 있을 경우에는 주의해야 합니다.

  4. finally문에서 발생하는 오류는 catch문으로 전달되지 않습니다. finally문 내부의 오류는 catch문이나 상위 호출자에게 전달되지 않고 무시됩니다. 오류 처리를 위해서는 finally문 안에서 추가적인 예외 처리를 수행해야 합니다.

요약하자면, finally문은 예외 처리의 마무리 작업을 위해 사용되며, 예외 발생 여부와 관계없이 항상 실행되는 코드를 포함할 수 있습니다. 예외 처리를 보다 완성적으로 수행하고자 할 때 finally문을 적절히 활용하면 좋습니다.

이상으로 자바스크립트의 기본 문법 중 finally문에 대해 알아보았습니다. 궁금한 점이나 추가로 알고 싶은 내용이 있다면 언제든 물어보세요!

답글 남기기