Image Generation Plan: Error Modeling (C#) Study Roadmap
This plan outlines the visual assets required to enhance the study materials (err_model_cs_study_*.md). The goal is to provide intuitive, schematic visualizations that clarify abstract error handling and architectural concepts.
共通設定 (Based on Style Guide)
- Style: Modern Flat Vector (Clean Line Art).
- Visual Metaphors: Use metaphors (Railway, Guard, Castle, Shield) over complex UML diagrams.
- Color Palette:
- Success/Domain: Green / Teal / Blue
- Infra/Warning: Orange / Amber
- Failure/Bug: Red
- Target Audience: Beginner Japanese developers.
- Text Rules:
- NO Text generally preferred.
- If unavoidable: English for Code (e.g.,
Result,Error), Japanese for Concepts.
🖼️ Image List by Chapter
Chapter 1: Failure as Specification
-
err_model_cs_study_001_failure_route.png
- Visual: A path splitting into two. Top path "Success" (Green). Bottom path "Failure" (Red). Both are cleanly drawn as "Designed Routes".
- Prompt:
Concept diagram. A flowchart path splitting into two. Top path 'Success' (Green). Bottom path 'Failure' (Red). Both paths are cleanly drawn and labeled as 'Designed'. Flat vector.
-
Status: [ ] Unprocessed
-
err_model_cs_study_001_purchase_flow.png
- Visual: Flowchart of purchasing merch. Success path (Product -> Cart -> Pay). Failure checks (No Stock, No Budget, Network Error) branching off.
- Prompt:
Flowchart diagram. Main path: 'Product' -> 'Cart' -> 'Payment'. Branching red failure paths: 'No Stock', 'No Budget', 'Network Error'. A comprehensive view of failure points. Clean flat vector. - Status: [ ] Unprocessed
Chapter 2: Development Environment
- err_model_cs_study_002_tech_stack.png
- Visual: Icons for VS 2026, .NET 10, C# 14. Futuristic and clean.
- Prompt:
Tech stack illustration. Icons for 'Visual Studio 2026' (Purple), '.NET 10' (Purple/Blue), 'C# 14' (Green). Futuristic flat style.
- Status: [ ] Unprocessed
Chapter 3: Exception Stack Trace
-
err_model_cs_study_003_throw_vs_throw_ex.png
- Visual: Compare "throw;" (Long continuous line) vs "throw ex;" (Line cut short).
- Prompt:
Comparison diagram. Top: 'throw;' showing a long, continuous timeline of events. Bottom: 'throw ex;' showing the timeline cut short, losing history. Red cut mark. Minimalist.
-
Status: [ ] Unprocessed
-
err_model_cs_study_003_try_catch_finally.png
- Visual: Flow diagram. 'Try' block execution. Arrow to 'Catch' on error. Both arrows meeting at 'Finally'.
- Prompt:
Flow diagram. Box 'Try'. Arrow to 'Catch' (Red, labeled 'Error'). Both flow into 'Finally' (Blue). 'Finally' runs in all cases. Clean lines flat vector. - Status: [ ] Unprocessed
-
err_model_cs_study_003_inner_exception_chain.png
- Visual: A transparent box (Outer Exception) containing another box (Inner Exception).
- Prompt:
Concept illustration. A large transparent box labeled 'Outer Exception'. Inside it, a smaller box labeled 'Inner Exception'. Wrapping/Chaining metaphor. Modern flat style. - Status: [ ] Unprocessed
Chapter 4: Anti-Patterns
- err_model_cs_study_004_swallowing_exceptions.png
- Visual: A black hole (Empty Catch Block) swallowing a bomb (Exception). A warning sign overlay.
- Prompt:
Warning metaphor. A cartoon 'catch block' represented as a black hole swallowing a 'Time Bomb' (Error). Red 'No' sign overlay. Don't swallow errors.
- Status: [ ] Unprocessed
Chapter 5: Expected vs Unexpected
- err_model_cs_study_005_decision_scale.png
- Visual: A balance scale. Left side: "Domain Error" (Blue Box). Right side: "Bug" (Red Bomb).
- Prompt:
Balance scale illustration. Left tray: 'Domain Error' (Blue Box) labeled 'Expected'. Right tray: 'Bug' (Red Bomb) labeled 'Unexpected'. different handling strategies.
- Status: [ ] Unprocessed
Chapter 6: Three Categories
-
err_model_cs_study_006_error_categories.png
- Visual: Three distinct buckets/circles. Domain (Blue), Infra (Orange), Bug (Red).
- Prompt:
Three pillars diagram. Left: 'Domain' (Blue). Center: 'Infrastructure' (Orange). Right: 'Bug' (Red). Classification of error types. Clean flat vector.
-
Status: [ ] Unprocessed
-
err_model_cs_study_006_classification_flow.png
- Visual: A flowchart for classifying errors. Q1 "Domain?" -> Blue. Q2 "Infra?" -> Orange. Q3 "Bug?" -> Red.
- Prompt:
Flowchart diagram. Step 1: 'Domain Rule?' (Yes -> Blue). Step 2: 'External I/O?' (Yes -> Orange). Step 3: 'Unexpected?' (Yes -> Red). A decision tree for error classification. Clean flat vector. - Status: [ ] Unprocessed
Chapter 7: Domain Error Record
-
err_model_cs_study_007_error_card.png
- Visual: An ID card representing an Error. Fields shown: Code, Message.
- Prompt:
Data structure visualization. An ID card labeled 'Error'. Fields: 'Code' (Tag), 'Message' (Speech Bubble), 'Retryable' (Refresh Icon). Flat design.
-
Status: [ ] Unprocessed
-
err_model_cs_study_007_input_vs_domain.png
- Visual: Comparison. Input Error (Format check) vs Domain Error (Business Rule).
- Prompt:
Comparison illustration. Left: 'Input Error' showing a form field with invalid email format (Red). Right: 'Domain Error' showing a 'Sold Out' tag on a valid product request. Different validation layers. - Status: [ ] Unprocessed
Chapter 8: Infrastructure Errors
-
err_model_cs_study_008_transient_vs_permanent.png
- Visual: Left: Rain Cloud (Transient - Wait and it clears). Right: Collapsed Bridge (Permanent - Waiting won't help).
- Prompt:
Comparison concept. Left: 'Transient' showing a rain cloud (temporary). Right: 'Permanent' showing a collapsed bridge (requires repair). Blue vs Orange theme.
-
Status: [ ] Unprocessed
-
err_model_cs_study_008_retry_decision_logic.png
- Visual: A logic flow. "Transient (503)" leads to a Green "Retry Loop". "Permanent (401)" leads to a Red "Stop".
- Prompt:
Decision logic diagram. Input: 'Error Type'. Path A: 'Transient (e.g. 503)' -> Green 'Retry Loop'. Path B: 'Permanent (e.g. 401)' -> Red 'Stop'. Clear logic flow. Flat vector. - Status: [ ] Unprocessed
Chapter 9: Fail Fast
- err_model_cs_study_009_fail_fast_guard.png
- Visual: A security guard stopping Invalid Input at the very gate.
- Prompt:
Security guard illustration. A guard stopping a red 'Invalid Input' block at the very entrance gate. 'Fail Fast' label. Shield icon.
- Status: [ ] Unprocessed
Chapter 10: Exception Boundary
- err_model_cs_study_010_castle_wall.png
- Visual: A castle wall. Outside arrows (Exceptions) bounce off. Inside is calm (Results).
- Prompt:
Boundary defense diagram. A castle wall. Outside: 'Exceptions' (Spiky shapes) bouncing off. Inside: 'Results' (Smooth round shapes). Protection metaphor.
- Status: [ ] Unprocessed
Chapter 11: Dependency Injection
-
err_model_cs_study_011_plug_and_socket.png
- Visual: Domain (Socket/Interface) and Infra (Plug/Implementation) connecting.
- Prompt:
Plug and socket illustration. 'Domain' represented as a socket (Interface). 'Infrastructure' represented as a plug (Implementation). Connecting together. Clean lines.
-
Status: [ ] Unprocessed
-
err_model_cs_study_011_layer_architecture.png
- Visual: Concentric circles. Center: 'Domain'. Middle: 'UseCase'. Outer: 'Infra'.
- Prompt:
Layered architecture diagram. Concentric circles. Core center: 'Domain Errors' (Blue). Middle ring: 'Application' (Green). Outer ring: 'Infrastructure' (Orange). Arrows pointing inward. Clean flat vector. - Status: [ ] Unprocessed
Chapter 12: Converting Exceptions
- err_model_cs_study_012_conversion_machine.png
- Visual: A machine taking a jagged Rock (Exception) and turning it into a polished Gem (InfraError).
- Prompt:
Conversion machine. Input: 'Exception' (Jagged red rock). Processing: Gears turning. Output: 'InfraError' (Polished orange gem). Transformation metaphor.
- Status: [ ] Unprocessed
Chapter 13: Error Catalog
- err_model_cs_study_013_catalog_book.png
- Visual: A well-organized library book labeled "Error Catalog".
- Prompt:
Icon illustration. A thick book labeled 'Error Catalog'. Open pages showing strict codes and definitions. Organized and structured.
- Status: [ ] Unprocessed
Chapter 14: Value-Based Equality
- err_model_cs_study_014_record_equality.png
- Visual: Two identical Error cards with an "=" sign.
- Prompt:
Equality check. Two separate but identical index cards labeled 'Error'. An '=' sign between them. Represents value-based equality. Flat vector.
- Status: [ ] Unprocessed
Chapter 15: Result Pattern
- err_model_cs_study_015_result_box.png
- Visual: A box labeled "Result". It can contain a Checkmark (Success) OR an X (Failure), never both.
- Prompt:
Concept icon. A box labeled 'Result<T>'. Inside, it can hold either a 'Value' (Green Check) OR an 'Error' (Red X), but never both. Exclusive content.
- Status: [ ] Unprocessed
Chapter 16: Result States
- err_model_cs_study_016_toggle_switch.png
- Visual: A toggle switch. Up is Success (Green). Down is Failure (Red).
- Prompt:
Toggle switch illustration. Position A: 'Success' (Green Light). Position B: 'Failure' (Red Light). Only one state active at a time.
- Status: [ ] Unprocessed
Chapter 17: AppError Anatomy
-
err_model_cs_study_017_app_error_structure.png
- Visual: An exploded view of an AppError object. Core: Code. Orbiting: UserMsg, Category, Action.
- Prompt:
Infographic of an error object. Central core: 'Code'. Satellites: 'UserMsg' (Bubble), 'Category' (Color), 'Retryable' (Icon). Deconstructive view. - Status: [ ] Unprocessed
-
err_model_cs_study_017_ui_vs_log.png
- Visual: Split screen. Left: UI showing a simple toast "Out of Stock". Right: Log showing a detailed JSON block. Separation of concerns.
- Prompt:
Comparison illustration. Split screen. Left side: 'UI' showing a simple phone notification 'Out of Stock'. Right side: 'Log' showing a detailed JSON data block with internal IDs. separation of concerns. Flat vector. - Status: [ ] Unprocessed
Chapter 18: Railway Switching
- err_model_cs_study_018_railway_switch.png
- Visual: Train tracks splitting. Main line (Success). Siding (Failure).
- Prompt:
Railway tracks splitting. Main track enters 'Match'. Splits into 'Success' path (Green scenery) and 'Failure' path (Red warning signs). Flow control.
- Status: [ ] Unprocessed
Chapter 19: Propagation
-
err_model_cs_study_019_railway_stations.png
- Visual: A train line with 3 stations. Success train passes all. Failure train takes an early exit at station 1 or 2.
- Prompt:
Railway Oriented Programming diagram. Three stations in a row. Green track connects them all. Red exit tracks at each station. 'Early Return' concept.
-
Status: [ ] Unprocessed
-
err_model_cs_study_019_guard_clause_stairs.png
- Visual: Comparison. Nested (Deep stairs) vs Guard Clause (Flat road).
- Prompt:
Comparison metaphor. Left: 'Nested Code' shown as deep, dangerous stairs going down. Right: 'Guard Clause' shown as a flat, straight road with small side exits. Readability visualization. - Status: [ ] Unprocessed
Chapter 20: Mapping Table
- err_model_cs_study_020_translation_map.png
- Visual: A table mapping "Exception" to "Error Code". Arrows connecting them.
- Prompt:
Translation table. Left column: 'Exceptions' (Code text). Right column: 'Error Codes' (Tags). Arrows connecting them. Mapping logic.
- Status: [ ] Unprocessed
Chapter 21: Status Buckets
-
err_model_cs_study_021_http_traffic_lights.png
- Visual: Traffic lights. Green (200), Yellow (4xx), Red (5xx).
- Prompt:
Traffic lights metaphor. '200 OK' (Green Light). '400 Bad Request' (Yellow/Orange Light). '500 Server Error' (Red Light). Status buckets.
-
Status: [ ] Unprocessed
-
err_model_cs_study_021_status_decision_tree.png
- Visual: A long vertical decision tree. Auth? -> 401. Exists? -> 404. Validation? -> 400. Logic? -> 409.
- Prompt:
Decision tree for HTTP status. Top node: 'Auth?'. Branches to '401/403'. Next node: 'Exists?'. Branches to '404'. Next node: 'Input?'. Branches to '400'. Vertical flow. Flat vector. - Status: [ ] Unprocessed
-
err_model_cs_study_021_409_vs_422.png
- Visual: Comparison. 409 (Conflict) vs 422 (Unprocessable).
- Prompt:
Comparison metaphor. '409 Conflict': Two cars trying to park in the same spot. '422 Unprocessable': A machine rejecting a weirdly shaped part (correct material, wrong shape). Status code visual. - Status: [ ] Unprocessed
Chapter 22: ProblemDetails
- err_model_cs_study_022_problem_details_doc.png
- Visual: A standardized document icon labeled RFC 9457. Sections: type, title, status.
- Prompt:
Document icon. A sheet of paper labeled 'RFC 9457'. structured sections: 'type', 'title', 'status'. Standardized format symbol.
- Status: [ ] Unprocessed
Chapter 23: UI Feedback Types
-
err_model_cs_study_023_ui_feedback.png
- Visual: A screen showing a Toast (Network Error) and an Input Error (Field).
- Prompt:
UI composition. Top: A toaster notification labeled 'Network Error'. Bottom: A red input field labeled 'Invalid Email'. Different error presentations.
-
Status: [ ] Unprocessed
-
err_model_cs_study_023_ui_patterns.png
- Visual: 4 UI patterns. Field, Banner, Dialog, Toast.
- Prompt:
UI patterns catalog. Four mini-screens arranged in a grid. 1. Field Error (Red text). 2. Top Banner (Warning). 3. Center Dialog (Critical). 4. Bottom Toast (Info). Web design components. - Status: [ ] Unprocessed
Chapter 24: Structured Logging
- err_model_cs_study_024_structured_log.png
- Visual: A clean JSON block representing a log entry. Searchable.
- Prompt:
Data visualization. A log entry shown as a neat JSON block. Keys: 'UserId', 'Path', 'Error'. Searchable structure metaphor.
- Status: [ ] Unprocessed
Chapter 25: Correlation Trace
- err_model_cs_study_025_correlation_thread.png
- Visual: A glowing thread connecting User -> API -> DB. Labeled "TraceID".
- Prompt:
Traceability diagram. A simplified glowing thread passing through 'Client', 'API', 'DB'. The thread is labeled 'TraceID'. Continuity metaphor.
- Status: [ ] Unprocessed