我有一段這樣的代碼。如何處理來自外部的對象事件內發生的異常?
class Facebook
{
WebBrowser wb = new WebBrowser();
public bool isDone = false;
public Facebook()
{
wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);
}
public void Navidate(string URL = "http://www.facebook.com")
{
wb.Navigate(URL);
}
public void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser wb = sender as WebBrowser;
if (wb != null && wb.StatusText.Contains("404"))
{
// i want to throw this exception to outside how ?
throw new ServerNotFound("Error 404");
}
else
{
isDone = true;
}
}
}
public class ServerNotFound : Exception
{
public ServerNotFound(string Message)
: base(Message)
{
}
在這裏你可以看到網頁瀏覽器事件可引發異常 我要處理這個異常是這樣。
static class Program
{
[STAThread]
static void Main()
{
try
{
Facebook fb = new Facebook();
fb.Navidate();
do
{
Application.DoEvents();
}
while (!fb.isDone);
}
catch (ServerNotFound ex)
{
// i want to handle that exception here ?
MessageBox.Show(ex.Message);
}
}
}
你能幫我嗎?它因事件而不工作。
「Navidate」?不工作是什麼意思?發佈例外的詳細信息。 –
您正在通過顯示錯誤消息來處理異常。對我來說目前還不清楚你想要什麼 – Jehof
啊..我的錯誤,現在我想我修好了。希望這是可以理解的。 –