32 lines
606 B
Go
32 lines
606 B
Go
|
package common
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"os"
|
||
|
|
||
|
"github.com/spf13/cobra"
|
||
|
)
|
||
|
|
||
|
// 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)
|
||
|
}
|
||
|
}
|