2008-08-20 16 views
3

Visual Studio Başlangıç ​​Sayfasını görüntülemek için System.Windows.Forms.WebBrowser kullanıyorum. Ancak, kontrol, tüm istisnaları sessizce batırarak yakalayıp tutuyor gibi görünüyor! Bunu söylemene gerek yok çok talihsiz bir davranış.WebBrowser denetiminin istisnaları yitirmesini önleme

void webBrowserNavigating(object sender, WebBrowserNavigatingEventArgs e) 
{ 
    // WebBrowser.Navigating event handler 
    throw new Exception("OMG!"); 
} 

Yukarıdaki kod gezinmeyi iptal edecek ve istisnayı yutmayacaktır.

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()); 
    } 
} 

Yani, ne (yukarıda) bu ideal dan hala açıkça uzak sessizce başarısız daha iyi ama, bütün istisnaları yakalamak ve bir kutu pop olduğunu. Normal uygulama başarısızlık yolundan istisnayı yeniden yönlendirmesini isterim, böylece sonuçta işlenmemiş olur ya da uygulama kök tarafından işlenir.

WebBrowser denetiminin istisnaları batırmayı durdurmak ve bunları doğal ve beklenen şekilde iletmek için herhangi bir yolu var mı? Yoksa yerel sınırlar dışında bir istisna atmak için biraz yol var mı?

cevap

0

Benim en iyi bahis için sorulduğunda

düzenlemek kod örneği yoktu. Yerel kısım, yönetilen istisnaları doğru şekilde iletmez ve yapılabilecek fazla bir şey yoktur.

Yine de daha iyi bir cevap bekliyorum.

1

Tarayıcı hatalarını kastetmediğiniz sürece tarayıcıda istisnalar görmedim. Komut dosyası hataları, browser.ScriptErrorsSuppressed özelliği aracılığıyla etkinleştirilebilir.

Yalnızca özel hatalar hakkında değil, yalnızca komut dizisi hataları hakkında konuşuyorsanız, sorunu yeniden üreten bir kod gösterebilir misiniz? Tarayıcıyı kapsamlı bir şekilde kullandık ve tanımladığınız şeyi görmedik. Bunun geçmeye yerli yönetilen yerli sınır yoktur çünkü bunun neden bir kod örneğiyle