From 72ace483e466a73553a43ce814fc1142e4a6e22e Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Thu, 3 Jul 2025 17:41:28 +0200 Subject: [PATCH] Made error types public --- src/cli/build.go | 14 +++++++------- src/cli/errors.go | 21 +++++++++------------ src/cli/exit.go | 6 +++--- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/src/cli/build.go b/src/cli/build.go index 6edd1f6..6d1ed80 100644 --- a/src/cli/build.go +++ b/src/cli/build.go @@ -41,7 +41,7 @@ func newBuildFromArgs(args []string) (*build.Build, error) { i++ if i >= len(args) { - return b, &expectedParameterError{Parameter: "arch"} + return b, &ExpectedParameter{Parameter: "arch"} } switch args[i] { @@ -50,7 +50,7 @@ func newBuildFromArgs(args []string) (*build.Build, error) { case "x86": b.Arch = build.X86 default: - return b, &invalidValueError{Value: args[i], Parameter: "arch"} + return b, &InvalidValue{Value: args[i], Parameter: "arch"} } case "--dry": @@ -60,7 +60,7 @@ func newBuildFromArgs(args []string) (*build.Build, error) { i++ if i >= len(args) { - return b, &expectedParameterError{Parameter: "os"} + return b, &ExpectedParameter{Parameter: "os"} } switch args[i] { @@ -71,7 +71,7 @@ func newBuildFromArgs(args []string) (*build.Build, error) { case "windows": b.OS = build.Windows default: - return b, &invalidValueError{Value: args[i], Parameter: "os"} + return b, &InvalidValue{Value: args[i], Parameter: "os"} } case "-v", "--verbose": @@ -79,7 +79,7 @@ func newBuildFromArgs(args []string) (*build.Build, error) { default: if strings.HasPrefix(args[i], "-") { - return b, &unknownParameterError{Parameter: args[i]} + return b, &UnknownParameter{Parameter: args[i]} } b.Files = append(b.Files, args[i]) @@ -87,11 +87,11 @@ func newBuildFromArgs(args []string) (*build.Build, error) { } if b.OS == build.UnknownOS { - return b, &invalidValueError{Value: runtime.GOOS, Parameter: "os"} + return b, &InvalidValue{Value: runtime.GOOS, Parameter: "os"} } if b.Arch == build.UnknownArch { - return b, &invalidValueError{Value: runtime.GOARCH, Parameter: "arch"} + return b, &InvalidValue{Value: runtime.GOARCH, Parameter: "arch"} } if len(b.Files) == 0 { diff --git a/src/cli/errors.go b/src/cli/errors.go index 10691a9..b84e5ba 100644 --- a/src/cli/errors.go +++ b/src/cli/errors.go @@ -2,33 +2,30 @@ package cli import "fmt" -// expectedParameterError is created when a command line parameter is missing. -type expectedParameterError struct { +// ExpectedParameter is created when a command line parameter is missing. +type ExpectedParameter struct { Parameter string } -// Error implements the error interface. -func (err *expectedParameterError) Error() string { +func (err *ExpectedParameter) Error() string { return fmt.Sprintf("Expected parameter '%s'", err.Parameter) } -// invalidValueError is created when a parameter has an invalid value. -type invalidValueError struct { +// InvalidValue is created when a parameter has an invalid value. +type InvalidValue struct { Value string Parameter string } -// Error implements the error interface. -func (err *invalidValueError) Error() string { +func (err *InvalidValue) Error() string { return fmt.Sprintf("Invalid value '%s' for parameter '%s'", err.Value, err.Parameter) } -// unknownParameterError is created when a command line parameter is not recognized. -type unknownParameterError struct { +// UnknownParameter is created when a command line parameter is not recognized. +type UnknownParameter struct { Parameter string } -// Error implements the error interface. -func (err *unknownParameterError) Error() string { +func (err *UnknownParameter) Error() string { return fmt.Sprintf("Unknown parameter '%s'", err.Parameter) } \ No newline at end of file diff --git a/src/cli/exit.go b/src/cli/exit.go index 3d92b7c..96f59ad 100644 --- a/src/cli/exit.go +++ b/src/cli/exit.go @@ -17,9 +17,9 @@ func exit(err error) int { var ( exit *exec.ExitError - expectedParameter *expectedParameterError - unknownParameter *unknownParameterError - invalidValue *invalidValueError + expectedParameter *ExpectedParameter + unknownParameter *UnknownParameter + invalidValue *InvalidValue ) if errors.As(err, &exit) {