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 <aktau@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Robert Griesemer <gri@google.com>
Auto-Submit: Robert Griesemer <gri@google.com>
This commit is contained in:
Nicolas Hillegeer 2024-02-28 15:21:18 -08:00 committed by Gopher Robot
parent 45b641ce15
commit bfa116b345
2 changed files with 4 additions and 3 deletions

View File

@ -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))
}
}

View File

@ -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)