프로그래밍 언어/Python

파이썬 try-else절의 용도

Rateye 2021. 12. 13. 00:30
728x90
반응형
질문 : 파이썬 try-else

try 문의 else 절의 용도는 무엇입니까?

답변

else 블록의 문은 try 의 맨 아래에서 떨어지면 실행됩니다 (예외가없는 경우). 솔직히 저는 필요를 찾지 못했습니다.

그러나 예외 처리 참고 사항 :

else 절을 사용하는 것이 try ... except 문으로 보호되는 코드에 의해 발생하지 않은 예외를 실수로 포착하는 것을 방지하기 때문에 try 절에 추가 코드를 추가하는 것보다 낫습니다.

IOError throw 할 수있는 메서드가 있고 발생하는 예외를 포착하고 싶지만 첫 번째 작업이 성공하면 IOError를 포착하고 싶지 않은 경우 수행 할 다른 작업이 있습니다. 이 작업에서 다음과 같이 작성할 수 있습니다.

try:
    operation_that_can_throw_ioerror()
except IOError:
    handle_the_exception_somehow()
else:
    # we don't want to catch the IOError if it's raised
    another_operation_that_can_throw_ioerror()
finally:
    something_we_always_need_to_do()

operation_that_can_throw_ioerror 뒤에 another_operation_that_can_throw_ioerror() 넣으면 except 는 두 번째 호출의 오류를 잡을 것입니다. 그리고 전체 try 블록 뒤에 넣으면 항상 실행되며 finally . else

출처 : https://stackoverflow.com/questions/855759/python-try-else
728x90
반응형