Приведенный ниже код размещает изображение на странице Facebook. Однако, когда он терпит неудачу (по какой-либо причине), он не бросает никаких исключений, поэтому я не могу найти основную причину сбоя (только общее сообщение, которое я предоставляю («Не удалось опубликовать»). Как бы изменить ниже код, чтобы показать фактическую ошибку?Код должен выдавать исключение, но это не
Это использует Facebook C# SDK
FacebookClient fbClient = new FacebookClient(accessToken);
fbClient.PostTaskAsync(path, post)
.ContinueWith(task =>
{
if (!task.IsFaulted)
{
if (((IDictionary<string, object>)post).ContainsKey("scheduled_publish_time"))
{
DateTime dateTime = Utilities.ConvertUnixTimeStampToDateTime(Double.Parse((((dynamic)post).scheduled_publish_time)), true);
OnFacebookPostSuccess("Successfully posted: (" +
dateTime + ") " + postText);
}
else
{
OnFacebookPostSuccess("Successfully posted: (" +
DateTime.Now + ") " + postText);
}
}
else
{
OnFacebookPostFailed("Failed to post " + filename);
}
});
Отлично, я не знал, что в Задаче есть свойство Exception. Можно ли разделить AggregateException на несколько исключений и определить, откуда происходят ошибки? Кстати, только что начал читать твою книгу, чертовски потрясающий материал! (Я чувствую, что звезда поражена) –
@MarkGladstone: Абсолютно - посмотрите ['AggregateException.InnerExceptions'] (http://msdn.microsoft.com/en-GB/library/system.aggregateexception.innerexceptions.aspx). (Скорее всего, там только будет, заметьте.) –
Отлично, не мог попросить лучшего ответа, спасибо, Джон! –