From 08e75c39c04b00eab8d79d2af76da50a2ee67ebf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=87=AA=E7=94=B1=E7=9A=84=E4=B8=96=E7=95=8C=E4=BA=BA?= <3196812536@qq.com> Date: Sun, 9 Mar 2025 21:22:08 +0800 Subject: [PATCH] fix: translate error handle (#3092) --- .../src/pages/translate/TranslatePage.tsx | 26 +++++++++++++------ src/renderer/src/services/ApiService.ts | 4 +-- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/renderer/src/pages/translate/TranslatePage.tsx b/src/renderer/src/pages/translate/TranslatePage.tsx index 14e7930b..81fb54c8 100644 --- a/src/renderer/src/pages/translate/TranslatePage.tsx +++ b/src/renderer/src/pages/translate/TranslatePage.tsx @@ -103,14 +103,24 @@ const TranslatePage: FC = () => { setLoading(true) let translatedText = '' - await fetchTranslate({ - message, - assistant, - onResponse: (text) => { - translatedText = text - setResult(text) - } - }) + try { + await fetchTranslate({ + message, + assistant, + onResponse: (text) => { + translatedText = text + setResult(text) + } + }) + } catch (error) { + console.error('Translation error:', error) + window.message.error({ + content: String(error), + key: 'translate-message' + }) + setLoading(false) + return + } await saveTranslateHistory(text, translatedText, 'any', targetLanguage) setLoading(false) diff --git a/src/renderer/src/services/ApiService.ts b/src/renderer/src/services/ApiService.ts index 4af7dd4c..c2d4b252 100644 --- a/src/renderer/src/services/ApiService.ts +++ b/src/renderer/src/services/ApiService.ts @@ -159,13 +159,13 @@ export async function fetchTranslate({ message, assistant, onResponse }: FetchTr const model = getTranslateModel() if (!model) { - return '' + throw new Error(i18n.t('error.provider_disabled')) } const provider = getProviderByModel(model) if (!hasApiKey(provider)) { - return '' + throw new Error(i18n.t('error.no_api_key')) } const AI = new AiProvider(provider)