C#プログラムは、次のように呼び出されます。C#全体のプログラムをtry/catchすることは可能ですか?
Application.Run (new formClass());
すべてのキャッチされていない例外をトラップするためにtry/catchを使用したいと思います。このRunメソッドの周りに置くと、例外は捕捉されません。制御は、キャッチされない例外の後にプログラムが終了したときにのみここに戻ります。
プログラム全体をカバーするためにtry/catchをどこに置くことができますか?ありがとう!
私は、例外がアプリケーションの一番上のレイヤーに吹き飛ばされ、次にコード内のより低いものに対処する必要がある何か間違っている場合に、例外処理のポイントを見逃していると思います。 try/catchを失敗の可能性があるコードの周りに置き、catch(可能な場合)をcatchに提供します。それが緩和できない、つまりアプリが回復できない場合、アプリケーションは失敗する必要があります。 – Lazarus
OPは例外の使用方法を尋ねるのではなく、特定のシナリオで例外を捕捉する方法だけです。明らかに例外がトップレイヤーにバブルすると、何かが間違っている - 何かが間違っているときに情報を見つけたいので、対処できるようです。ミッチの答えは、彼が何をやっているのかわからないと仮定するよりはるかに役立ちます。 – Maggie
トップレベルですべての例外をキャッチすることは、終了する前に何が起こったのかを最終的に報告するのに非常に役立ちます。多くの場合、これは標準Windowsの「このプログラムがクラッシュしたので、これをMicrosoftに報告してください」というダイアログが表示された方が良いと思います。 – noctonura