저는 PyQt4 사용자 인터페이스를 사용하고 있습니다. 쉬운 디버깅 및 문제 해결을 위해 stderr을 로그 파일로 리디렉션했지만 오류가 발생하면 사용자에게 오류 메시지를 표시해야합니다.사용자에게 로깅하면서 오류를 표시하는 방법은 무엇입니까?
제 문제는 예외가 발생했을 때 예외를 잡아서 사용자에게 발생했음을 알리는 것이지만 여전히 추적 기록을 표준 오류 (예 : 로그 파일)로 전달하도록해야한다는 것입니다.
나는 이런 식으로 뭔가 할 경우이 예외를 catch하고 오류 로그에 전달 될 수 없습니다
def updateResults(self):
try:
#code that updates the results
except:
#display error message box
합니다.
사용자에게 메시지를 표시하고 오류를 전파하는 방법이 있습니까?
이 방법이 유용할까요?
except, e:
#display error message box
raise e
내 목표를 달성하는 더 좋은 방법이 있습니까?
나는이 방법을 미래의 프로젝트에 확실히 사용할 것입니다. 지금 py2exe는'stderr'의 리다이렉트를하고 있습니다. 그래서 모든 코드를 try-except 블록으로 리팩터링하지 않으면 두 개의 로그 파일 (잡히거나 잡히지 않은 예외)이 생깁니다. – tgray
기본적으로이 방법을 구현하면 * this * 프로젝트의 리팩토링 시간에 가치가 있지 않습니다. – tgray
잡힌/잡히지 않은 예외를 분리하고 싶습니다 (tgray). Ant에 대해 설명하는 로깅 스키마가 가장 좋습니다. 파일에 로깅하거나 데이터베이스에 로깅하거나 심지어 파일 및 데이터베이스에 로깅 할 수 있으며 모든 위치에서 코드를 변경할 필요가 없기 때문입니다. – DevinB