몇 가지 비슷한 질문이 있지만 필요한 답변을 제공하는 것은 없습니다.메인 스레드의 스레드에서 처리되지 않은 예외를 발생시키지 않습니까?
threading.Thread
을 통해 스레드를 생성 한 다음 처리되지 않은 예외가 발생하면 해당 스레드가 종료됩니다. 스택 트레이스에서 예외 세부 사항의 기본 인쇄를 유지하고 전체 프로세스를 종료하고 싶습니다.
스레드의 모든 예외를 catch하고 주 스레드 개체에서 스레드를 다시 시도하거나 가능한 경우 기본 예외 처리를 수동으로 수행 한 다음 메인에 SystemExit
을 발생시킬 수 있다고 생각했습니다. 실.
이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
메인 스레드에'thrdobj.exc_info'를 던지지 말고, 다시 올릴 때 예외 유형을 버리는 이유는 무엇입니까? –
3arg raise 문을 읽어야했습니다. 하지만 '자기'에 관한 질문은 여전히 유효합니다. 좋은 답변을 주셔서 감사합니다. 나는 그것을 시험해 보겠습니다. –
자기에 대한 당신의 질문이 무엇인지 모르겠습니다. 이 코드는 작업자 스레드로 작업을 연기하는 데 사용되는 개체에서 가져온 것이므로 동일한 개체가 작업자와 주 스레드의 코드를 실행합니다. –