An open API service indexing awesome lists of open source software.

https://github.com/sug0/go-exit

Finally respect your damn deferred function calls on `err != nil`
https://github.com/sug0/go-exit

different err exit fatal go log nil

Last synced: 11 months ago
JSON representation

Finally respect your damn deferred function calls on `err != nil`

Awesome Lists containing this project

README

          

# Who is this for?

For our naive gophers who call `log.Fatal(err)` or `os.Exit(1)` after
doing some shit like `defer f.Close()`.

# Usage

Buckle up boys and galz...

```go
package main

import (
"os"
"fmt"
"exit"
)

type ExitStatus int

func (s ExitStatus) ExitCode() int {
fmt.Fprintln(os.Stderr, "OMG IT ALL WENT DOWN THE SHITTER")
return int(s)
}

func main() {
defer exit.Handler()
defer fmt.Println("it worked I guess")
exit.WithStatus(ExitStatus(2))
}
```