私はSystem.Windows.Forms.WebBrowser
を使用してVisual Studioの開始ページを表示します。しかし、コントロールが静かに沈んですべての例外をキャッチして処理しているようです。これを伝える必要は非常に不幸な行動です。WebBrowserコントロールが例外を呑み込まないようにする
void webBrowserNavigating(object sender, WebBrowserNavigatingEventArgs e)
{
// WebBrowser.Navigating event handler
throw new Exception("OMG!");
}
上記のコードは、ナビゲーションをキャンセルして例外を飲み込んでしまいます。
void webBrowserNavigating(object sender, WebBrowserNavigatingEventArgs e)
{
// WebBrowser.Navigating event handler
try
{
e.Cancel = true;
if (actions.ContainsKey(e.Url.ToString()))
{
actions[e.Url.ToString()].Invoke(e.Url, webBrowser.Document);
}
}
catch (Exception exception)
{
MessageBox.Show(exception.ToString());
}
}
だから、私は何をすべきか(上)これは理想からまだ明確にはるかに静かに失敗するよりも良いが、である、すべての例外をキャッチし、ボックスをポップアップです。私はそれが最終的に処理されないように、またはルートからアプリケーションによって処理されるように、通常のアプリケーションの失敗パスを介して例外をリダイレクトしたいと思います。
WebBrowser
コントロールに例外をシンクするのを止めて自然に、予期した方法で転送する方法はありますか?または、ネイティブの境界を介して例外をスローするいくつかのハックな方法がありますか?