この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 45249|答える: 1

[出典] .NET/C#スレッドは例外情報をキャッチします

[リンクをコピー]
掲載地 2020/09/23 19:59:52 | | | |
最近、スレッド例外の取得方法についての面接があり、間違った答えをしました。 私も「try catch」と書くと、私が言ったスレッドの外に例外があります。

以前、Winformソフトウェア開発をしていたときはよくスレッドを使っていて、例外情報を得る方法は2つありました。

  • スレッド内でtryをキャッチし、デリゲートを呼び出して例外情報をソフトウェアのログテキストボックスに出力させます。
  • スレッド内でtryキャッチを書き、ログフレームワークを呼び出してファイルに書き込みます。


スレッド外に「try catch」と書いたわけではないので、なぜ間違った答えをしたのでしょうか?

テストコード:



スレッド外では例外情報が得られず、メインスレッドは停止しました「OK」は印刷されていません。

メインスレッドの例外情報を取得したい場合、どうすればいいですか? イベントを使うこともできますが、それは実際にはデリゲートです。

イベントのチュートリアル:

詳細は.net/c#イベント
https://www.itsvse.com/thread-4803-1-1.html

コードは以下の通りです:



(終わり)




先の:asp.net コアソースコードアドレス
次に:JSは画面サイズのカルーセルグラフに適応します
 地主| 掲載地 2021/04/14 14:55:15 |
タスクを使った例外は処理されず、メインスレッドには影響しません



スレッド例外が処理されない場合、メインスレッドがクラッシュします



テストコード:



免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com