DieKit

DieKit

Error Printer for Swift

CI codecov

Supports macOS, Ubuntu & Windows Swift 5.9 Latest release

DieKit, a Swift package designed to streamline and enhance error handling in your Swift applications. It makes exception handling more robust and insightful.

Key Features

Installation

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")
]

Usage

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)

Contributing

Contributions make the open-source community an amazing place to learn, inspire, and create. Any contributions you make to DieKit are greatly appreciated.

License

Distributed under the MIT License. See LICENSE for more information.