@@ -536,7 +536,8 @@ Example use:
536
536
| ` WrapWithDepthf` | ` WithMessagef` + ` WithStackDepth` |
537
537
| ` AssertionFailedWithDepthf` | ` NewWithDepthf` + ` WithAssertionFailure` |
538
538
| ` NewAssertionErrorWithWrappedErrf` | ` HandledWithMessagef` (barrier) + ` WrapWithDepthf` + ` WithAssertionFailure` |
539
-
539
+ | ` Join` | ` JoinWithDepth` (see below) | |
540
+ | ` JoinWithDepth` | multi-cause wrapper + ` WithStackDepth` |
540
541
## API (not constructing error objects)
541
542
542
543
The following is a summary of the non-constructor API functions, grouped by category.
@@ -574,11 +575,15 @@ func RegisterLeafEncoder(typeName TypeKey, encoder LeafEncoder)
574
575
func RegisterWrapperDecoder(typeName TypeKey, decoder WrapperDecoder)
575
576
func RegisterWrapperEncoder(typeName TypeKey, encoder WrapperEncoder)
576
577
func RegisterWrapperEncoderWithMessageOverride (typeName TypeKey, encoder WrapperEncoderWithMessageOverride)
578
+ func RegisterMultiCauseEncoder(theType TypeKey, encoder MultiCauseEncoder)
579
+ func RegisterMultiCauseDecoder(theType TypeKey, decoder MultiCauseDecoder)
577
580
type LeafEncoder = func(ctx context.Context, err error) (msg string, safeDetails []string, payload proto.Message)
578
581
type LeafDecoder = func(ctx context.Context, msg string, safeDetails []string, payload proto.Message) error
579
582
type WrapperEncoder = func(ctx context.Context, err error) (msgPrefix string, safeDetails []string, payload proto.Message)
580
583
type WrapperEncoderWithMessageOverride = func(ctx context.Context, err error) (msgPrefix string, safeDetails []string, payload proto.Message, overrideError bool)
581
584
type WrapperDecoder = func(ctx context.Context, cause error, msgPrefix string, safeDetails []string, payload proto.Message) error
585
+ type MultiCauseEncoder = func(ctx context.Context, err error) (msg string, safeDetails []string, payload proto.Message)
586
+ type MultiCauseDecoder = func(ctx context.Context, causes []error, msgPrefix string, safeDetails []string, payload proto.Message) error
582
587
583
588
// Registering package renames for custom error types.
584
589
func RegisterTypeMigration(previousPkgPath, previousTypeName string, newType error)
0 commit comments