Patterns/result Type

Result Type Pattern (C-Specific) pattern for C development

majiayu000 1d083b8 2 files · 1.5 KB Updated 567 repo stars

File contents

Result Type Pattern (C-Specific)

Return struct containing success/failure status plus value or error. Explicit error handling without exceptions. Caller must check result.

ikigai Application

Core type: res_t used throughout:

res_t result = ik_cfg_load(ctx, path, &cfg);
if (!result.ok) {
    // Handle error, result.error contains message
}

Macros:

  • OK(value) - Construct success result
  • ERR(msg) - Construct error result
  • TRY(expr) - Propagate error if failed
  • CHECK(cond, msg) - Return error if condition false

Benefits:

  • Errors can't be ignored (must check .ok)
  • Error context propagates up call stack
  • No hidden control flow (unlike exceptions)

See: project/error_handling.md for patterns.

majiayu000/claude-skill-registry-data/tree/main/development/patternsresult-type commit 1d083b86d1

Frequently asked questions

npx skillmds add majiayu000/patterns-result-type