From 2e4177ed2d4629fee0f535d40985ca1a653774c2 Mon Sep 17 00:00:00 2001 From: Jamie Liu Date: Tue, 7 May 2024 19:13:57 -0700 Subject: [PATCH] state: print encoding error before object This prevents a very large object string from pushing an error message from saving (which is usually something informative like "type Foo does not implement SaverLoader") off the edge of the line. cl/605534648 already did this for loading. PiperOrigin-RevId: 631622344 --- pkg/state/encode.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/state/encode.go b/pkg/state/encode.go index ed6d78f96..ee1ce3242 100644 --- a/pkg/state/encode.go +++ b/pkg/state/encode.go @@ -772,7 +772,7 @@ func (es *encodeState) Save(obj reflect.Value) { } }); err != nil { // Include the object in the error message. - Failf("encoding error at object %#v: %w", oes.obj.Interface(), err) + Failf("encoding error: %w\nfor object %#v", err, oes.obj.Interface()) } // Check that we have objects to serialize.