Visual Studio 시작 페이지를 보려면 System.Windows.Forms.WebBrowser
을 사용하고 있습니다. 그러나 컨트롤이 자동으로 침입하여 모든 예외를 포착하고 처리하는 것으로 보입니다! 이것은 불행한 행동이라고 말할 필요가 없습니다.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
컨트롤에 예외를 싱킹하는 것을 중단하고 자연스럽고 예상되는 방식으로 전달하도록하는 방법이 있습니까? 아니면 네이티브 경계를 통해 예외를 던질 수있는 해킹 방법이 있습니까?