From 05738faa189e50b6c0ecc52f0e2dbad6bcedb218 Mon Sep 17 00:00:00 2001 From: Ryo Nihei Date: Sun, 15 Aug 2021 21:10:14 +0900 Subject: Print a stack trace only when a panic occured --- cmd/vartan/parse.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'cmd/vartan/parse.go') diff --git a/cmd/vartan/parse.go b/cmd/vartan/parse.go index 2e9c608..89de6f0 100644 --- a/cmd/vartan/parse.go +++ b/cmd/vartan/parse.go @@ -34,6 +34,7 @@ func init() { func runParse(cmd *cobra.Command, args []string) (retErr error) { defer func() { + panicked := false v := recover() if v != nil { err, ok := v.(error) @@ -44,10 +45,15 @@ func runParse(cmd *cobra.Command, args []string) (retErr error) { } retErr = err + panicked = true } if retErr != nil { - fmt.Fprintf(os.Stderr, "%v:\n%v", retErr, string(debug.Stack())) + if panicked { + fmt.Fprintf(os.Stderr, "%v:\n%v", retErr, string(debug.Stack())) + } else { + fmt.Fprintf(os.Stderr, "%v\n", retErr) + } } }() -- cgit v1.2.3