Define domain-specific errors as an `enum` conforming to `Error`, adding associated values when callers need context: ```swift enum FileError: Error { case missing(URL) case unreadable(reason: String) } func read(_ url: URL) throws -> Data { guard FileManager.default.fileExists(atPath: url.path) else { throw FileError.missing(url) } return try Data(contentsOf: url) } ``` Mark the operation `throws`, then handle specific cases in `do-catch`. Avoid untyped `Error(message:)`; a typed error hiera...
Scanned 9/5/2026
Install to Claude Code
npx -y skills add HoangNguyen0403/agent-skills-standard --skill swift-error-handling --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Swift Error Handling?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hoangnguyen0403-swift-error-handling-db46a4e4)More formats (shields.io, HTML) on the badges page.
Define domain-specific errors as an `enum` conforming to `Error`, adding associated values when callers need context:
```swift
enum FileError: Error {
case missing(URL)
case unreadable(reason: String)
}
func read(_ url: URL) throws -> Data {
guard FileManager.default.fileExists(atPath: url.path) else {
throw FileError.missing(url)
}
return try Data(contentsOf: url)
}
```
Mark the operation `throws`, then handle specific cases in `do-catch`. Avoid untyped `Error(message:)`; a typed error hierarchy is easier to inspect, test, and map to user-facing messages.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!