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