From 5ee34dfc2f14ef0b85a897fef299e028b77a259a Mon Sep 17 00:00:00 2001 From: fshee Date: Thu, 24 Jun 2021 01:38:46 +0000 Subject: [PATCH] Fix(main.go): Add error case checking to retry. --- main.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index 3ffe004..b35f856 100644 --- a/main.go +++ b/main.go @@ -44,6 +44,13 @@ type Retry struct { retryAttemptCount int } +func NewRetry(retryAttemptCount int) (Retry, error) { + if retryAttemptCount < 1 { + return Retry{}, errors.New("retry attempt count must be greater than zero") + } + return Retry{retryAttemptCount}, nil +} + func (r Retry) Do(f func() error) (err error) { for i := 0; i < r.retryAttemptCount; i++ { err = f() @@ -275,7 +282,12 @@ func main() { if *v { applicationLogger = log.New(os.Stdout, logPrefix, 0) } - db, err := NewDB(applicationLogger, *dbFilePath, *hashSeed, Retry{3}) + retry, err := NewRetry(3) + if err != nil { + startupLogger.Fatal(err) + return + } + db, err := NewDB(applicationLogger, *dbFilePath, *hashSeed, retry) if err != nil { startupLogger.Fatal(err) return