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が届く
}