From: Nicolas Hillegeer Date: Wed, 28 Feb 2024 23:21:18 +0000 (-0800) Subject: text/tabwriter: add recovered panic message to rethrow X-Git-Tag: go1.23rc1~1044 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=bfa116b345b9216fa3dce253864d51dcefb42d0f;p=gostls13.git 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 --- 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)