[javascript] 실행 컨텍스트와 예외 처리(exception handling)의 동작 방식은 무엇인가?

실행 컨텍스트(Execution Context)

자바스크립트에서 코드가 실행될 때마다 실행 컨텍스트가 생성되고 스택(Stack)에 쌓입니다. 각 실행 컨텍스트는 해당 코드의 환경 정보, 변수, 함수 선언 등을 담고 있습니다. 현재 실행 중인 컨텍스트는 스택의 맨 위에 위치하며, 이것이 실행되는 동안 다른 실행 컨텍스트는 대기 상태로 남아 있습니다.

예외 처리(Exception Handling)

자바스크립트에서 예외는 일반적으로 에러(Error)와 관련이 있습니다. 코드 실행 중에 에러가 발생하면 해당 예외가 발생합니다. 이때, 예외를 처리하지 않으면 프로그램이 강제로 종료될 수 있습니다. 따라서, 예외 처리는 이러한 상황을 대비하여 오류를 처리하고 프로그램이 계속 실행될 수 있도록 합니다.

실행 컨텍스트와 예외 처리의 동작 방식

  1. 코드 실행 시, 실행 컨텍스트가 생성되고 스택에 쌓입니다.
  2. 코드 실행 중에 예외가 발생하면 현재 실행 중인 컨텍스트에서 예외를 처리할 수 있는 catch 블록이 있는지 확인합니다.
  3. 만약 catch 블록이 있으면 해당 블록으로 제어를 전달하여 예외를 처리합니다.
  4. 예외를 처리한 후에는 정상적으로 다음 코드로 진행합니다.
  5. 예외를 처리하지 못한 경우 상위 컨텍스트로 예외가 전파되며, 스택의 다음 실행 컨텍스트로 이동하여 예외 처리를 시도합니다.

이렇게 실행 컨텍스트와 예외 처리는 코드 실행 중에 오류를 적절히 처리하고 프로그램의 안정성을 유지하기 위한 중요한 동작 방식을 갖고 있습니다.

참고문헌: