문제

내가 사용하는 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 을 제공합니다.

만약 당신이 이야기에 대한 진정한 예외는지 스크립트 오류를 보여줄 수 있는 코드 재생산하는 문제입니까?우리가 사용하는 브라우저 광범위하게 보지 않으면 무엇이 당신을 설명하고 있습니다.

편집 샘플 코드에는 없었을 때는 코드 샘플

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top