无法捕获htmldocument加载异常

本文关键字:加载 异常 htmldocument | 更新日期: 2023-09-27 18:29:18

有时htmlDocument.Load(url)会给我这个异常:

Unhandled Exception: System.IO.IOException: Unable to read data from the transpo
rt connection: An existing connection was forcibly closed by the remote host. --

不幸的是,我无法捕捉到这个异常。

我发现异常如下:

try
{
   page = web.Load(url + Convert.ToString(i + 1) + "/");
}
catch (ArgumentException ex)
{
  //do something
}

当我运行程序时,异常仍然会在写入的行停止程序

page = web.Load(url + Convert.ToString(i + 1) + "/");

有人能帮我吗?

无法捕获htmldocument加载异常

只是提供了另一个解决方案。您的捕获是针对ArgumentException的,并且将仅捕获ArgumentException s…抛出的是IOException

如果您只想捕获try块抛出的所有异常,您可以将代码更改为以下内容:

try
{
   page = web.Load(url + Convert.ToString(i + 1) + "/");
}
catch (Exception ex)
{
    //do something
}

如果你想为每个异常做一些不同的事情:

try
{
   page = web.Load(url + Convert.ToString(i + 1) + "/");
}
catch (ArgumentException ex)
{
    //do something about ArgumentException
}
catch (System.IO.IOException ex) 
{
    //do something about IOException
}

这是因为抛出的异常是System.IO.IOException,而您正在捕获ArgumentException

将您的代码更改为:

try
{
   page = web.Load(url + Convert.ToString(i + 1) + "/");
}
catch (System.IO.IOException ex)
{
  //do something
}

您的代码只捕获ArgumentException s。

如果你想捕捉其他类型的异常,你需要改变它。