• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

finally를 쓰고 안쓰고의 차이?

20.05.18 20:58 작성 조회수 199

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문은 실행되지 않겠죠?

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