From ef09db75310b6d47f1d584172c2df67a02e3eb12 Mon Sep 17 00:00:00 2001 From: niksedk Date: Sat, 4 Nov 2023 15:45:18 +0100 Subject: [PATCH] Improve error handling for MS Bing translator Related to #7591 --- src/libse/AutoTranslate/MicrosoftTranslator.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/libse/AutoTranslate/MicrosoftTranslator.cs b/src/libse/AutoTranslate/MicrosoftTranslator.cs index 397c70444..f0347cc08 100644 --- a/src/libse/AutoTranslate/MicrosoftTranslator.cs +++ b/src/libse/AutoTranslate/MicrosoftTranslator.cs @@ -79,7 +79,19 @@ namespace Nikse.SubtitleEdit.Core.AutoTranslate content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); var result = httpClient.PostAsync(url, content).Result; var parser = new JsonParser(); - var x = (List)parser.Parse(result.Content.ReadAsStringAsync().Result); + var jsonResult = result.Content.ReadAsStringAsync().Result; + + if (!result.IsSuccessStatusCode) + { + if (result.StatusCode == HttpStatusCode.Unauthorized) + { + throw new Exception("API key is not valid!" + Environment.NewLine + Environment.NewLine + jsonResult); + } + + throw new Exception("An error occurred during translate:" + Environment.NewLine + Environment.NewLine + jsonResult); + } + + var x = (List)parser.Parse(jsonResult); foreach (var xElement in x) { var dict = (Dictionary)xElement;