元渊 API元渊 API
Error Handling Guide

User-Friendly Error Messages

Best practices for error message design

Design Principles

1. Clear and Concise

Use simple language, avoid technical jargon

❌ "candidatesTokenCount === 0"
✅ "Content review failed"

2. Positive Guidance

Tell users what to do, not just what went wrong

❌ "Content rejected"
✅ "Please modify your description and try again"

3. Actionable

Provide specific suggestions

❌ "Request failed"
✅ "Try using healthier, more positive descriptions"

4. Avoid Blame

Don't make users feel at fault

❌ "Your content violates our policy"
✅ "This request doesn't meet content guidelines"

Error Message Templates

Content Review Rejection

❌ Content Review Failed

Your request was rejected during content review.

Suggestions:
✓ Check prompt for sensitive content
✓ Ensure reference images are appropriate
✓ Use positive, specific descriptions

Generation Rejection

❌ Content Policy Violation

Content doesn't meet safety requirements.

Suggestions:
✓ Use healthy, positive descriptions
✓ Avoid sensitive topics
✓ Review content policy guidelines

Text Response

💬 Unable to Generate Image

The model provided an explanation:
[Display model's text response]

Suggestions:
✓ Adjust your request based on feedback
✓ Try different phrasing
✓ Ensure compliance with usage policies

System Error

⚠️ System Error

Server encountered an error. Please try again.

[Retry Button] [Cancel]

Multi-Language Support

const errorMessages = {
    CONTENT_REVIEW_REJECTED: {
        en: "Content review failed, please modify and retry",
        zh: "内容审核未通过,请修改后重试",
        ja: "コンテンツ審査に失敗しました"
    },
    GENERATION_REJECTED: {
        en: "Content doesn't meet requirements",
        zh: "内容不符合要求",
        ja: "コンテンツが要件を満たしていません"
    }
};

UI Design

Color Coding

  • 🔴 Red (#f44336) - Critical errors
  • 🟠 Orange (#ff9800) - Warnings
  • 🔵 Blue (#2196f3) - Informational
  • 🟢 Green (#4caf50) - Success

Layout Example

function ErrorDisplay({ error }) {
    return (
        <div className="error-container">
            <div className="error-icon">⚠️</div>
            <h3>{error.title}</h3>
            <p>{error.message}</p>
            
            {error.suggestions && (
                <ul className="suggestions">
                    {error.suggestions.map((s, i) => (
                        <li key={i}>{s}</li>
                    ))}
                </ul>
            )}
            
            <div className="actions">
                <button onClick={onRetry}>Retry</button>
                <button onClick={onModify}>Modify Prompt</button>
            </div>
        </div>
    );
}

How is this guide?