forked from TrueCloudLab/frostfs-node
[#665] cli/util: Add exit code utils
Add `errf`, `exitOnErr` and `exitOnErrCode` functions that works with errors and exits with non-zero exit codes on non-nil errors. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
parent
75632a7d83
commit
8965e70463
1 changed files with 25 additions and 0 deletions
|
@ -508,3 +508,28 @@ func keyerParseFile(filename string, d *keyer.Dashboard) error {
|
||||||
|
|
||||||
return d.ParseBinary(data)
|
return d.ParseBinary(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// errf returns formatted error in errFmt format
|
||||||
|
// if err is not nil.
|
||||||
|
func errf(errFmt string, err error) error {
|
||||||
|
if err == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Errorf(errFmt, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// exitOnErr calls exitOnErrCode with code 1.
|
||||||
|
func exitOnErr(cmd *cobra.Command, err error) {
|
||||||
|
exitOnErrCode(cmd, err, 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
// exitOnErrCode prints error via cmd and calls
|
||||||
|
// os.Exit with passed exit code. Does nothing
|
||||||
|
// if err is nil.
|
||||||
|
func exitOnErrCode(cmd *cobra.Command, err error, code int) {
|
||||||
|
if err != nil {
|
||||||
|
cmd.PrintErrln(err)
|
||||||
|
os.Exit(code)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue