diff options
author | root <sina@snix.ir> | 2022-03-04 09:45:28 +0000 |
---|---|---|
committer | root <sina@snix.ir> | 2022-03-04 09:45:28 +0000 |
commit | 7051e0896a5df51c00d09f1fa1936bc5ae7a6c9e (patch) | |
tree | f8ac703611469f9190de87a2d698288fcf9f2c8e /error.go |
gosema ipc sysv linux
Diffstat (limited to 'error.go')
-rw-r--r-- | error.go | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/error.go b/error.go new file mode 100644 index 0000000..01dcc2d --- /dev/null +++ b/error.go @@ -0,0 +1,44 @@ +package main + +import ( + "fmt" + "os" +) + +const ( + format = "\033[1;31mfatal --\033[0m %s\n" + infomt = "\033[1;32mcmlog --\033[0m" + warnmt = "\033[1;33mwarng --\033[0m" +) + +type mainerr error + +func defexit() { + r := recover() + switch x := r.(type) { + case mainerr: + fmt.Printf(format, x.Error()) + os.Exit(-1) + case nil: + os.Exit(0) + default: + panic(x) + } +} + +func fatal(err error) { panic(mainerr(err)) } +func exits() { fatal(nil) } +func logst(d ...interface{}) { + d = append([]interface{}{infomt}, d...) + fmt.Println(d...) +} + +func warng(d ...interface{}) { + d = append([]interface{}{warnmt}, d...) + fmt.Println(d...) +} + +func usage(st string) { + fmt.Printf("usage: %v [client|server] .. \n", st) + exits() +} |