Как исправить "произошла ошибка при отправке запроса."
Мой дискорд-бот иногда выбрасывает исключения, которые
При отправке запроса произошла ошибкаи я не знаю, как это исправить и, что еще важнее, что мне делать. Я установил если внутреннее исключение не равно нулю то запишите и это тоже но оно пустое потому что нет никакой другой информации об исключении
Что я уже пробовал:
[Command("stats")] public async Task Profileosu([Remainder]string username = null) { try { string url = String.Format($"http://osu.ppy.sh/api/get_user?k={k}&u={username}"); using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri("http://osu.ppy.sh"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage responseMessage = await client.GetAsync(url); string result = await responseMessage.Content.ReadAsStringAsync(); IList<Profile> profile = JsonConvert.DeserializeObject<IList<Profile>>(result); //embedbuild embed.WithThumbnailUrl($"https://a.ppy.sh/{profile.First().user_id}"); embed.WithAuthor($"{username} #{profile.First().pp_rank}, {profile.First().pp_raw}PP", Context.Guild.CurrentUser.GetAvatarUrl(), $"https://osu.ppy.sh/users/{profile.First().user_id}"); embed.WithDescription($"Join date:{profile.First().join_date}\nCountry:{profile.First().country} #{profile.First().pp_country_rank}\nAccuray:{double.Parse(profile.First().accuracy):F2}%\nPlaycount:{profile.First().playcount}"); embed.WithColor(154, 255, 0); await ReplyAsync($"", false, embed.Build()); } } catch (Exception ex) { embed.WithAuthor("An error occured"); embed.WithDescription("This player doesn't exist, please check the spelling of the username!"); embed.WithColor(255, 0, 0); await ReplyAsync($"", false, embed.Build()); Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); if (ex.InnerException != null) { Console.WriteLine(ex.InnerException.Message); } if (ex.InnerException.InnerException.Message != null) { Console.WriteLine(ex.InnerException.InnerException.Message); } } }
dnxit
Лучше зарегистрировать полный объект исключения, чтобы увидеть трассировку стека и другие детали, но если вы просто хотите получить сообщение, попробуйте ex.GetBaseException().Message;