При получении данных из сети, как я могу узнать, не удалось ли мне подключиться?
Я использую GetBufferAsync, который выдает ошибку, когда я вытаскиваю кабель Ethernet из компьютера.
Я не могу найти документацию по этой ошибке, и я не знаю, является ли это лучшим методом для использования.
Я загружаю текстовый файл размером до 60 КБ. Не очень много данных.
Я занимаюсь разработкой в Visual Studio 2019.
Приведенный ниже код загружает некоторые данные с www.google.com, в основном 0.
Когда я отсоединяю кабель Ethernet, я получаю исключение в строке ReadBufferAsync.
Я пытался перехватить определенные исключения: InvalidOperationException, HttpRequestException
Ошибка: 0x8002ee7 (десятичный 12007).
Текст: текст, связанный с этим кодом ошибки, не найден. Не удалось разрешить имя или адрес сервера.
InnerException: нуль
Документация MS https://docs.microsoft.com/en-us/windows/desktop/WinInet/wininet-errors не включает ошибку, которую я получаю, хотя мое исключение находится в правильном диапазоне (см. https://docs.microsoft.com/en-us/windows/desktop/Debug/system-error-codes--12000-15999-)
using System;
using Windows.Storage.Streams;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.Web.Http;
namespace ReadBufferAsyncTest
{
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
this.Loaded += MyProgram_Loaded;
}
private async void MyProgram_Loaded(object sender, RoutedEventArgs e)
{
try
{
// Connecting to internet
var uriBing = new Uri("http://www.google.com");
var client = new HttpClient();
IBuffer morseBuffer = await client.GetBufferAsync(uriBing);
DataReader dataReader = DataReader.FromBuffer(morseBuffer);
byte[] morseBytes = new byte[morseBuffer.Length];
dataReader.ReadBytes(morseBytes);
}
catch(Exception ex)
{
return; // breakpoint goes here
}
}
}
}
Является ли полученная ошибка (0x80072ee7) ожидаемой ошибкой?
Есть ли другие ошибки, чтобы искать?
Каков наилучший способ обработки ошибок при ограниченном количестве документации?
(другое примечание: это лучший способ загрузить небольшой текстовый файл?)