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

조회수 2964회

발생하는 문제 및 실행환경

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

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

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)