From bfa116b345b9216fa3dce253864d51dcefb42d0f Mon Sep 17 00:00:00 2001 From: Nicolas Hillegeer Date: Wed, 28 Feb 2024 15:21:18 -0800 Subject: [PATCH] text/tabwriter: add recovered panic message to rethrow Without it, there is little information to debug why the original write failed. Change-Id: I21615ab7ca402115d02becdbd11bbacde55b98b8 Reviewed-on: https://go-review.googlesource.com/c/go/+/567955 Auto-Submit: Nicolas Hillegeer LUCI-TryBot-Result: Go LUCI Reviewed-by: Robert Griesemer Auto-Submit: Robert Griesemer --- src/text/tabwriter/tabwriter.go | 3 ++- src/text/tabwriter/tabwriter_test.go | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/text/tabwriter/tabwriter.go b/src/text/tabwriter/tabwriter.go index 18ff667ba8..976ad251aa 100644 --- a/src/text/tabwriter/tabwriter.go +++ b/src/text/tabwriter/tabwriter.go @@ -12,6 +12,7 @@ package tabwriter import ( + "fmt" "io" "unicode/utf8" ) @@ -476,7 +477,7 @@ func (b *Writer) handlePanic(err *error, op string) { *err = nerr.err return } - panic("tabwriter: panic during " + op) + panic(fmt.Sprintf("tabwriter: panic during %s (%v)", op, e)) } } diff --git a/src/text/tabwriter/tabwriter_test.go b/src/text/tabwriter/tabwriter_test.go index a51358dbed..2bb54a25e2 100644 --- a/src/text/tabwriter/tabwriter_test.go +++ b/src/text/tabwriter/tabwriter_test.go @@ -635,7 +635,7 @@ func wantPanicString(t *testing.T, want string) { } func TestPanicDuringFlush(t *testing.T) { - defer wantPanicString(t, "tabwriter: panic during Flush") + defer wantPanicString(t, "tabwriter: panic during Flush (cannot write)") var p panicWriter w := new(Writer) w.Init(p, 0, 0, 5, ' ', 0) @@ -645,7 +645,7 @@ func TestPanicDuringFlush(t *testing.T) { } func TestPanicDuringWrite(t *testing.T) { - defer wantPanicString(t, "tabwriter: panic during Write") + defer wantPanicString(t, "tabwriter: panic during Write (cannot write)") var p panicWriter w := new(Writer) w.Init(p, 0, 0, 5, ' ', 0) -- 2.48.1