blob: 3d198917ccf9047b7fe2d3adb3297f435a12b440 [file]
package cli
// StatusError reports an unsuccessful exit by a command.
type StatusError struct {
Cause error
Status string
StatusCode int
}
// Error formats the error for printing. If a custom Status is provided,
// it is returned as-is, otherwise it generates a generic error-message
// based on the StatusCode.
func (e StatusError) Error() string {
if e.Status != "" {
return e.Status
}
if e.Cause != nil {
return e.Cause.Error()
}
// we don't want to set a default message here,
// some commands might want to be explicit about the error message
return ""
}
func (e StatusError) Unwrap() error {
return e.Cause
}