에러 코드는 출력하고 traceback만 안출력하게 해주세요


발생하는 문제 및 실행환경

except에서 pass를 쓰면 아예 에러가 뭔지 안나오고, 그렇다고 해서 아무 처리도 안하면 traceback이 엄청 많이 뜨는데

에러 코드만 출력하고 traceback는 안 출력 하려면 어떻게 짜야되는지 싶습니다.

  • 2016년 02월 16일에 작성됨

조회수 256


1 답변


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

그럼 예외가 발생했을 때

  1. 어디서 어떤 예외가 발생했는지 출력
  2. 루틴을 빠져나와 exit

하는 코드를 만들면 됩니다.

메인 루틴을 이렇게 써보세요

import sys, traceback

def main():
    try:
        #여기에 메인 코드가 들어갑니다.
    except KeyboardInterrupt:
        print "Shutdown requested...exiting"
    except Exception:
        traceback.print_exc(file=sys.stdout)
    sys.exit(0)

if __name__ == "__main__":
    main()
  • 2016년 02월 16일에 작성됨

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

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