강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

han ul Jeon님의 프로필 이미지
han ul Jeon

작성한 질문수

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

Exception(1-2)

finally를 쓰고 안쓰고의 차이?

작성

·

290

0

try:

    z = 'Kim' #'Cho' => 에러 발생.

    x = name.index(z)

    print('Found {}! {} in the list \"name\"'.format(z, x + 1))

except Exception as e: # 모든 에러를 다 잡는다.

    print(e) #Error를 그대로 출력해준다.

    print('Not found it! - Occurred ValueError!')

else: # 예외문이 발생하지 않을때만

    print('OK! else')

finally: #예외문이 발생하더라도 무조건 실행.

    print('Ok! finally!')

여기서 finally를 쓰지 않고, 그냥 try 구문 지나고     print('Ok! finally!')를 입력하는거랑 finally를 통해 입력하는 것이랑 결과는 차이가 없는 것으로 보이는데, 제가 모르는 차이가 있는지요?

답변 1

3

좋은사람님의 프로필 이미지
좋은사람
지식공유자

네 안녕하세요.

예외의 발생 유무에 관계없이 마지막에 finally구문은 실행되게 됩니다.

지금은 차이가 없는 것으로 보이지만, 예외가 발생했을 경우 finally를 선언하지 않았다면

하단에 작성된 print문은 실행되지 않겠죠?

흐름상의 차이입니다. 열심히 하시니까 좋네요!

han ul Jeon님의 프로필 이미지
han ul Jeon

작성한 질문수

질문하기