모든 예외를 한번에 잡으려고 합니다


발생하는 문제 및 실행환경

try:
    #어떤 코드
except IOError:
    #예외처리

이렇게 예외 하나하나에 대해서가 아니라 그냥 모든 예외를 한번에 잡아서

처리하고 싶습니다. 가능한가요?

  • 2016년 02월 11일에 작성됨

조회수 228


1 답변


좋아요
0
싫어요
채택취소하기

원하신다면 이런 식으로 짤 수는 있습니다. (아래 코드는 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()) #로깅

같이 쓰셔도 됩니다.

  • 2016년 02월 11일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close