Простейший пример, взят с сайта библиотеки.
class MainClass
{
static async void Test()
{
try
{
var config = Configuration.Default.WithDefaultLoader();
var address = "https://en.wikipedia.org/wiki/List_of_The_Big_Bang_Theory_episodes";
var context = BrowsingContext.New(config);
var document = await context.OpenAsync(address);
Console.WriteLine(document.Title);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
public static void Main(string[] args)
{
Test();
}
}
На строке:
var document = await context.OpenAsync(address);
Происходит вылет из метода. Это не исключение, блоком try catch не отлавливается. В логе следующее:
Почему так происходит и как это исправить?
Раньше такого не было. Версия библиотеки последняя.
Ну так это асинхронное программирование.
Когда выполнение доходит до await
происходит возвращение из метода, что бы выполнить какую-либо полезную работу дальше, пока IO выполняется.
Тут я вижу следующие проблемы:
void
=> вы не можете дождаться снаружи выполнения данного методаMain
(да и не можете по первой причине)Решения: Либо делайте его полностью синхронным и вызывайте простой метод Open, который блокирует поток, либо доводите дело до конца исправя ошибки.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Всем приветПомогите пожалуйста с Dictionary
Как можно максимально качественно конвертировать HTML в PDF? Есть на подобии код С#: opf2 - open file dialog (html)
Есть классы User, Accountant и Customer который наследуют класс PersonНужно получит все Person который на является Customer
Проблема с передачей данных через BinaryReader/BinaryWriter