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

발생하는 문제 및 실행환경

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

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

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()
    

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

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.