0
私はPythonでncursesアプリケーションを開発しています。しかし、いつも、私の2番目のスレッド(または何か他のもの)が例外を投げたり、テキストを印刷したりすると、ウィンドウが乱れてしまいます。Python curses - いい方法でエラーテキストを取得する
私のすばらしいncursesプログラムデザインを台無しにすることなく、このテキストをキャッチして正しく処理する方法はありますか? :)
は
私はPythonでncursesアプリケーションを開発しています。しかし、いつも、私の2番目のスレッド(または何か他のもの)が例外を投げたり、テキストを印刷したりすると、ウィンドウが乱れてしまいます。Python curses - いい方法でエラーテキストを取得する
私のすばらしいncursesプログラムデザインを台無しにすることなく、このテキストをキャッチして正しく処理する方法はありますか? :)
は
まず第一に、catch
あなたのスレッドのコールスタックの入口ですべての適切な例外をいただき、ありがとうございます。すべての可能性が高い場合、スレーブスレッドは例外を(例えばQueue
を介して)ディスプレイまたはおそらくログに中継するためにそれを捕捉する必要があります。あなたは「どのように私はこれをキャッチしない」と言うとき
import sys
sys.stdout.close()
sys.stderr.close()
:
また、デフォルトの例外ハンドラ(あなたの質問は、この点に焦点を当てているが、それはあなたが望むものをほぼ確実ではありません)のプリントアウトを抑制することができます、[try/catch](http://docs.python.org/tutorial/errors.html#handling-exceptions)ブロックについて知っていますか? –
もちろん、2つのクラスがあり、どちらも2つのスレッドで一緒に実行されています。 1つのクラスはncursesのものをやっていて、2番目は接続などです。しかし、その2番目のエラーがいくつかのexternライブラリで発生すると、そのエラーはncursesの画面に書き込まれます。 – Blaskovic
なぜ、スタックトレースを取得しないように書き込みエラーの原因となっている例外をキャッチしませんか? –