Initial import.

This commit is contained in:
Kyle Isom
2015-06-10 16:29:52 -07:00
commit 7391da8567
12 changed files with 365 additions and 0 deletions

12
die/README.md Normal file
View File

@@ -0,0 +1,12 @@
Simple fatal utilities for Go programs.
```
result, err := doSomething()
die.If(err)
ok := processResult(result)
if !ok {
die.With("failed to process result %s", result.Name)
}
```

22
die/die.go Normal file
View File

@@ -0,0 +1,22 @@
// Package die contains utilities for fatal error handling.
package die
import (
"fmt"
"os"
)
// If prints the error to stderr and exits if err != nil.
func If(err error) {
if err != nil {
fmt.Fprintf(os.Stderr, "[!] %v\n", err)
os.Exit(1)
}
}
// With prints the message to stderr, appending a newline, and exits.
func With(fstr string, args ...interface{}) {
out := fmt.Sprintf("[!] %s\n", fstr)
fmt.Fprintf(os.Stderr, out, args...)
os.Exit(1)
}