05-04 예외처리 질문드립니다
f = open('foo.txt', 'w')
try:
    # 무언가를 수행한다.
finally:
    f.close()

위 코드를 에디터에서 작성 후 cmd에서 실행했는데요.

IndentationError: expected an indented block
와 같은 오류가 나올뿐 해당 디렉터리에서 메모장 파일이 생성되지 않았는데 이게 맞는건가요?

혹시나해서 try문 다음줄에 임의의 코드로 작성하고
다시 cmd에서 실행했더니 그때는 메모장 파일이 생성됐어요.

제 생각엔 일단 오류를 finally문에 의해 무조건 닫는다고 해도
일단 파일이 생성 되어야지 닫히는게 맞는거 같아서요.

메모장 파일이 생성되지 않는게 맞는지 궁금합니다.

sylee 60

M 2021년 7월 27일 10:34 오후

목록으로
1개의 답변이 있습니다. 1 / 1 Page

try .. finally 사이에 문장이 있어야 합니다.
문장이 없으면 오류가 발생합니다.

박응용

2021년 7월 27일 10:58 오후

어떤 오류든? 파일이 생성되고(open), finally문이 수행되는줄 알았는데 기본적인 구조는 갖췄야 되나보네요 ㅜ. try: 다음에 비워놓아서 안 됐었나봐요. 답변 감사합니다! - sylee님, 2021년 7월 28일 2:40 오후 추천 , 대댓글