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
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
파이썬의 time.clock () vs time.time () 보다 정확한 것 (0) | 2021.12.14 |
---|---|
Python의 try-except-else문 (0) | 2021.12.13 |
TypeError: a bytes-like object is required, not 'str' when writing to a file in Python3 (0) | 2021.12.13 |
Python 스크립트를 프로파일링 하는 방법 (0) | 2021.12.13 |
파이썬 파일 확장자 .pyc .pyd .pyo가 의미하는 것 (0) | 2021.12.13 |