プログラムが開かれたとき(サーバーにサインインしたとき)に確立されたソケットを介して多くのデータを送信する、複数のユーザーコントロール、ウィンドウなどを備えた成長中のアプリケーションがあります。サーバーが停止したり、それらの線に沿って何かが発生した場合は、その特定の例外の try-catch ステートメントでほぼすべてのコード ブロックをラップするよりも、その後の SocketException をより適切な方法で処理できるようにしたいと考えています。
void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
それを使用すると、スローされた未処理の例外をキャッチする必要があります。例外が socketexception であるかどうかを単純に確認してから、「切断されました。再接続してください」コードを起動するのは悪い考えですか? このアプリケーションでは、スローされた socketexception の 99% がサーバーの切断によるものであると安全に想定できます。
私がこの件について話している間、すでにキャッチされた後に例外の種類を確認する方法はありますか? 上記のコードでは、e.Exception を使用するだけで元の例外を取得できます。例外の種類をチェックするために if ステートメントをどのように表現すればよいかよくわかりません。