From 36df203bdd923b8ddca9b68c2bc9b3329cd4fd44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=B2=81=E6=A0=91=E4=BA=BA?= Date: Tue, 8 Oct 2024 22:01:36 +0100 Subject: [PATCH] fix: record last error when calling `processDir` --- cmd/um/main.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cmd/um/main.go b/cmd/um/main.go index 8f1f485..448afc8 100644 --- a/cmd/um/main.go +++ b/cmd/um/main.go @@ -231,6 +231,8 @@ func (p *processor) processDir(inputDir string) error { if err != nil { return err } + + var lastError error = nil for _, item := range items { if item.IsDir() { continue @@ -238,9 +240,13 @@ func (p *processor) processDir(inputDir string) error { filePath := filepath.Join(inputDir, item.Name()) if err := p.processFile(filePath); err != nil { + lastError = err logger.Error("conversion failed", zap.String("source", item.Name()), zap.Error(err)) } } + if lastError != nil { + return fmt.Errorf("last error: %w", lastError) + } return nil }