프로그래밍언어/파이썬[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