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

조회수 3569회

발생하는 문제 및 실행환경

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

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

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

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()) #로깅
    

    같이 쓰셔도 됩니다.

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.