Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

4 Commits

Repository files navigation

XPKit

THE framework for doing Exceptional Programming in Swift

What is Exceptional Programming

  • All functions throw exceptions (throws)
  • Functions never return (-> Never {)

Functions look like this:

func name(...)throws->Never{...}

Importing

import XPKit
dependencies:[.package(url:"https://github.com/ExceptionalProgramming/XP-Swift",
from:"1.0.0")],targets:[.target(
name:"",
dependencies:["XPKit"]),]

Exceptions

Exceptions are a class that should be thrown

  • Exception
    • ProgramTerminated
    • RuntimeException
      • FatalException
    • ValueException

All do/catch blocks should rethrow any unhandled exceptions

...}catchleterror{throw error }

main()

do{try...}catch _ as ProgramTerminated{}catchlet error{throw error }

Getting values

We understand that not all code is exceptional so we provide get<T>(from:) -> T which will extract the value from the thrown ValueException<T>

Addition

There is a provided add<T: Addable> function which throws the sum of all values. The Int and UInt families both conform to Addable

About

XP Library for Swift

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages