私はPyQt4ユーザーインターフェイスを使用しています。簡単なデバッグとトラブルシューティングのためにstderrをログファイルにリダイレクトしましたが、エラーが発生したときにエラーメッセージを表示する必要があります。まだログを残している間にユーザーにエラーを表示する方法はありますか?
問題が発生したときに例外をキャッチし、発生したことをユーザーに通知する必要がありますが、トレースバックがstderr(つまりログファイル)に伝播されるようにする必要があります。私はこのような何か行うと
:
def updateResults(self):
try:
#code that updates the results
except:
#display error message box
をこれは、例外をキャッチし、エラーログにpropogateません。
ユーザーにメッセージを表示してエラーを伝える方法はありますか?
これは機能しますか?
except, e:
#display error message box
raise e
私の目標を達成する良い方法はありますか?
今後のプロジェクトではこのメソッドを使用します。今すぐpy2exeは 'stderr'のリダイレクトを行っていますので、*私はすべての*関数の周りにtry-exceptブロックを持つようにリファクタリングしない限り、2つのログファイル(捕捉された例外と捕捉されない例外)で終わります。 – tgray
基本的に、このメソッドを実装する利点は、* this *プロジェクトのリファクタリング時間に値するものではありません。 – tgray
キャッチされた/キャッチされない例外を切り離したいということを心に留めてください(tgray)。 Antに記述されているロギングスキーマが最適です。なぜなら、ファイルにログを記録したり、データベースにログを記録したり、ファイルとデータベースにログすることさえでき、あらゆる場所でコードを変更する必要がないからです。 – DevinB