> swift-error-handling

Standards for Throwing Functions, Result Type, and Never. Use when implementing Swift error throwing, Result<T,E>, or designing error hierarchies. (triggers: **/*.swift, throws, try, catch, Result, Error)

fetch
$curl "https://skillshub.wtf/HoangNguyen0403/agent-skills-standard/swift-error-handling?format=md"
SKILL.mdswift-error-handling

Swift Error Handling

Priority: P0

Implementation Guidelines

Throwing Functions

  • Propagate Errors: Use throws for recoverable errors.
  • Do-Catch: Handle errors close to source with specific catch blocks.
  • Error Types: Define custom errors as enums conforming to Error.

Result Type

  • Async Alternatives: Use Result<Success, Failure> for callback-based APIs.
  • Transformations: Use .map(), .flatMap() for functional composition.
  • Conversion: Use .get() to convert Result to throwing.

Never Type

  • Fatalisms: Use Never return type for functions that never return.
  • Preconditions: fatalError(), preconditionFailure() for programmer errors.

Anti-Patterns

  • Force Try: **No try!**: Use try? or do-catch.
  • Silent Failures: **No try? without nil check**: Handle or log.
  • String Errors: **No Error(message)**: Use typed errors.

References

┌ stats

installs/wk0
░░░░░░░░░░
github stars341
██████████
first seenMar 17, 2026
└────────────

┌ repo

HoangNguyen0403/agent-skills-standard
by HoangNguyen0403
└────────────

┌ tags

└────────────