Всем привет. Пишу RSS-ридер, и у меня возникло пару вопросов. Код такой:
public static List<NewsRSS> ReadRSS(string Url)
{
List<NewsRSS> News = new List<NewsRSS>();
try
{
WebRequest request = WebRequest.Create(Url);
XmlTextReader NewsXmlReader = new XmlTextReader(request.GetResponse().GetResponseStream());
XDocument NewsXml = XDocument.Load(NewsXmlReader);
foreach (XElement NewsNode in NewsXml.Element("rss").Element("channel").Elements("item"))
{
//тут просто выбираем нужные данные из XML
}
} catch (XmlException XmlErr)
{
Console.WriteLine("Ошибка при работе с XML: {0}", XmlErr.Message);
} catch (HttpListenerException HttpErr )
{
Console.WriteLine("Ошибка при обработке запроса: {0}", HttpErr.Message);
}
return News;
}
Собственно, вопросы:
1. Нормальна ли написана обработка ошибок? Меня смущает, что если случится ошибка, то вернётся пустой список новостей.
2. Правильно ли написана логика отправки запроса? Может, нужно как-то асинхронно отправлять запросы через async/await?