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 }