我有以下问题: 我的工具每隔6分钟检查一次RSS-Feed。 这种方法很完美,但托管RSS-Feed的服务器有时几秒钟都无法使用。 "检查" -part全天候运行。 所以有时它会抛出一个错误: 500 - 内部服务器错误,因此我的工具有时会停止工作。
我怎么能抓到这个? (如果失败,我不需要重新检查。只需要捕获该错误,以便工具继续运行)
这是代码,我用:
// RSS WORKARONUD
String[,] rssData = null;
private String[,] getRssData(String channel)
{
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls12;
System.Net.WebRequest myRequest = System.Net.WebRequest.Create(channel);
System.Net.WebResponse myResponse = myRequest.GetResponse();
System.IO.Stream rssStream = myResponse.GetResponseStream();
System.Xml.XmlDocument rssDoc = new System.Xml.XmlDocument();
rssDoc.Load(rssStream);
System.Xml.XmlNodeList rssItems = rssDoc.SelectNodes("rss /channel/item");
//Matrix, 100 rows , 3 colums
String[,] tempRssData = new String[100, 3];
答案 0 :(得分:0)
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls12;
System.Net.WebRequest myRequest = System.Net.WebRequest.Create(channel);
System.Net.WebResponse myResponse = myRequest.GetResponse();
try
{
System.IO.Stream rssStream = myResponse.GetResponseStream();
System.Xml.XmlDocument rssDoc = new System.Xml.XmlDocument();
rssDoc.Load(rssStream);
System.Xml.XmlNodeList rssItems = rssDoc.SelectNodes("rss /channel/item");
//Matrix, 100 rows , 3 colums
String[,] tempRssData = new String[100, 3];
}
Catch(Exception ex)
{
}