을 방지 컨트롤 제어 삼키는 예외
-
09-06-2019 - |
문제
내가 사용하는 System.Windows.Forms.WebBrowser
, 을 만들기 위해,보 라 Visual Studio 를 시작 페이지를 표시합니다.그러나,그것은 보인 컨트롤 잡고 처리하는 모든 예외를 통해 자동으로 침몰 그들!하기 위한 장치를 확보하기 위해 이것은 매우 불행한다.
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
제어를 중지 침몰하는 예외 및 그냥 앞으로 그들을 자연과 예상되는 방법이 있을까?또는 몇 가지 해키는 방법을 던지는 예외를 통해 기본 경계가?
해결책 2
나의 최상의 선택이 왜 그런 일이 있기 때문에 기본 관리-원의 경계를 십자가입니다.네이티브 타지 않는 앞으로 관리되는 예외를 정확하고 많은 것을 수행 할 수 있습니다.
나는 여전히 희망에 대한 더 나은 응답 하지만입니다.
다른 팁
나는 보지 못했 브라우저 먹는 예외지 않는 한,당신을 의미 스크립트 오류가 있습니다.스크립트 오류를 설정할 수 있습을 통해 browser.ScriptErrorsSuppressed
을 제공합니다.
만약 당신이 이야기에 대한 진정한 예외는지 스크립트 오류를 보여줄 수 있는 코드 재생산하는 문제입니까?우리가 사용하는 브라우저 광범위하게 보지 않으면 무엇이 당신을 설명하고 있습니다.
편집 샘플 코드에는 없었을 때는 코드 샘플