refactor: standardize error handling across components by utilizing CustomApiError for improved error messaging

This commit is contained in:
Junyan Qin
2026-01-03 00:56:25 +08:00
parent b0b7b914d8
commit 914f77ff37
14 changed files with 38 additions and 241 deletions
@@ -108,7 +108,7 @@ export default function DynamicFormItemComponent({
setLlmModels(models);
})
.catch((err) => {
toast.error('Failed to get LLM model list: ' + err.message);
toast.error('Failed to get LLM model list: ' + err.msg);
});
}
}, [config.type]);
@@ -124,7 +124,7 @@ export default function DynamicFormItemComponent({
setKnowledgeBases(resp.bases);
})
.catch((err) => {
toast.error('Failed to get knowledge base list: ' + err.message);
toast.error('Failed to get knowledge base list: ' + err.msg);
});
// Fetch plugin system status
@@ -165,7 +165,7 @@ export default function DynamicFormItemComponent({
setBots(resp.bots);
})
.catch((err) => {
toast.error('Failed to get bot list: ' + err.message);
toast.error('Failed to get bot list: ' + err.msg);
});
}
}, [config.type]);
@@ -22,6 +22,7 @@ import {
ProviderModels,
LANGBOT_MODELS_PROVIDER_REQUESTER,
} from './types';
import { CustomApiError } from '@/app/infra/entities/common';
interface ModelsDialogProps {
open: boolean;
@@ -349,7 +350,8 @@ export default function ModelsDialog({
const duration = Date.now() - startTime;
setTestResult({ success: true, duration });
} catch (err) {
toast.error(t('models.testError') + ': ' + (err as Error).message);
console.error('Failed to test model', err);
toast.error(t('models.testError') + ': ' + (err as CustomApiError).msg);
setTestResult(null);
} finally {
setIsTesting(false);
@@ -28,6 +28,7 @@ import {
import { DialogFooter } from '@/components/ui/dialog';
import { toast } from 'sonner';
import { extractI18nObject } from '@/i18n/I18nProvider';
import { CustomApiError } from '@/app/infra/entities/common';
const getFormSchema = (t: (key: string) => string) =>
z.object({
@@ -124,7 +125,7 @@ export default function ProviderForm({
}
onFormSubmit();
} catch (err) {
toast.error(t('models.providerSaveError') + (err as Error).message);
toast.error(t('models.providerSaveError') + (err as CustomApiError).msg);
}
}