[過去ログ] C#, C♯, C#相談室 Part96 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
348: デフォルトの名無しさん (ワッチョイ cf78-auNL) [sage] 2022/07/02(土) 00:00:46.05 ID:thG8tJ450(1) AAS
>>345
345(1): デフォルトの名無しさん (ワッチョイ 0f63-tCSL) [sage] 2022/07/01(金) 15:22:31.26 ID:svwhpzKm0(1) AAS
VisualStudio 2015 ターゲットフレームワーク .Net Framework 4.5.2
Shownイベントで発生した例外をApplication.ThreadExceptionでキャッチ
したいのですが期待する例外が届きません。
何が原因なのでしょうか。

public partial class Form1 : Form {
[STAThread] static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.ThreadException += ShowException;
Application.Run(new Form1());
}
private static void ShowException(object sender, ThreadExceptionEventArgs e) {
MessageBox.Show(e.Exception.ToString());
}
private void Test() {
try {
throw new Exception("1 起点");
}
catch (Exception ex) {
throw new Exception("2 期待する例外", ex);
}
}
public Form1() { InitializeComponent(); }
private void Form1_Shown(object sender, EventArgs e) { Test(); } //1が届く
private void button1_Click(object sender, EventArgs e) { Test(); } //2が届く
}
外部リンク:referencesource.microsoft.com
理由は分らないけど↓が原因っぽい
this.BeginInvoke(new MethodInvoker(CallShownEvent));

試しにbuttun2を追加して以下のコードを実行したら同じ現象が発生した
private void button2_Click(object sender, EventArgs e) { BeginInvoke(new MethodInvoker(Test)); }
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.038s