프로그래밍언어/파이썬[Error]

[파이썬][Error] 012. SyntaxError - 'finally' without 'try'

about_IT 2025. 5. 26. 01:54
728x90

SyntaxError: 'finally' without 'try' 오류는 finally 문이 try 블록 없이 단독으로 사용되었을 때 발생합니다. finally는 예외 처리 흐름에서 항상 try 블록과 함께 사용되어야 하며, 예외 발생 여부와 관계없이 반드시 실행할 코드를 정의하는 데 사용됩니다.

파이썬의 예외 처리 구조는 일반적으로 try - except - finally 또는 try - finally 형태로 사용됩니다. finally는 예외가 발생하든 그렇지 않든 무조건 실행되어야 하는 코드(예: 파일 닫기, 리소스 정리 등)를 담기 위한 블록입니다.

● 오류 발생 예시

finally:
    print("항상 실행")

위 코드는 try 블록 없이 finally가 단독으로 존재하기 때문에 문법 오류가 발생합니다.

SyntaxError: 'finally' without 'try'

● 올바른 사용 예시

try:
    print("작업 수행")
finally:
    print("항상 실행")

이 코드는 try 블록과 함께 finally가 사용되었기 때문에 정상 실행됩니다.

● 함께 사용하는 형태

  • try + finally
  • try + except + finally
  • try + except (필요 시 finally 추가 가능)

● 자주 하는 실수

  • finally를 독립된 블록처럼 사용
  • try를 작성했지만 잘못된 들여쓰기로 연결되지 않은 경우
  • 복잡한 예외 처리 구조에서 finally 블록 위치 오류

● 결론

finally는 항상 try와 함께 사용해야 하며, 단독으로 존재할 수 없습니다. 이 키워드는 예외 발생 여부와 관계없이 실행되어야 하는 코드를 처리하기 위한 것이므로, 그 문법 구조상 try 블록이 반드시 필요합니다. 예외 처리 문법을 정확히 이해하고 구조를 잘 갖춘 상태에서 finally를 활용하는 것이 중요합니다.

728x90