모든 예외를 한번에 잡으려고 합니다
조회수 6266회
발생하는 문제 및 실행환경
try:
#어떤 코드
except IOError:
#예외처리
이렇게 예외 하나하나에 대해서가 아니라 그냥 모든 예외를 한번에 잡아서
처리하고 싶습니다. 가능한가요?
1 답변
-
원하신다면 이런 식으로 짤 수는 있습니다. (아래 코드는 sigint같은 키보드 인터럽트도 처리해버립니다)
try: do_something() except: print "잡았다!"
모든 예외를 한꺼번에 처리하는 코드는 파이썬에서 권장하지는 않습니다. (아래같이 except안에서 또 raise 해준다면 괜찮습니다.)
try: do_something() except: raise
어떤 이유로 한 번에 예외를 catch하려는지는 모르겠지만 만약 로깅을 위해서 하신다면
import traceback import logging try: do_something() except Exception as e: logging.error(traceback.format_exc()) #로깅
같이 쓰셔도 됩니다.
댓글 입력