DieKit, a Swift package designed to streamline and enhance error handling in your Swift applications. It makes exception handling more robust and insightful.
Add DieKit to your Swift project by including it in your Package.swift dependencies:
dependencies: [
.package(url: "https://github.com/nzrsky/DieKit.git", from: "0.1.2")
]
Here’s how simple it is to use DieKit:
import DieKit
// ❌ This code doesn't compile
let x = env["SECRET_KEY"] ?? fatalError()
// ❌ Also compilation error here
let x = env["SECRET_KEY"] ?? { fatalError() }
// ✅ But this is OK
let x = env["SECRET_KEY"] ?? die("Specify SECRET_KEY")
Print error to stderr and proceed handling:
// Usage of printOnException
do {
let result = try printOnException { try throwingOperation() }
// prints error message to stderr according error's type
} catch error {
// handle error
}
// Usage of dieOnException
let result = dieOnException { try throwingOperation() }
// prints error message to stderr and die
Posix errors:
throw NSError(posixError: EFAULT)
Print formatted errors:
// Default behaviour
print(CGError.illegalArgument)
// The operation couldn’t be completed. (__C.CGError 1003)
// With DieKit
print(CGError.illegalArgument)
// error: The operation couldn’t be completed. (CGError: Illegal Argument)
Contributions make the open-source community an amazing place to learn, inspire, and create. Any contributions you make to DieKit are greatly appreciated.
Distributed under the MIT License. See LICENSE for more information.