sug0 / go-exit

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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...

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))
}

About

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


Languages

Language:Go 100.0%