@@ -62,14 +62,22 @@ public static SpannerException newSpannerException(ErrorCode code, @Nullable Str
62
62
}
63
63
64
64
public static SpannerException newSpannerException (
65
- ErrorCode code , @ Nullable String message , @ Nullable XGoogSpannerRequestId reqId ) {
65
+ ErrorCode code ,
66
+ @ Nullable String message ,
67
+ @ Nullable Throwable cause ,
68
+ @ Nullable XGoogSpannerRequestId reqId ) {
66
69
return newSpannerExceptionPreformatted (
67
- code , formatMessage (code , message ), (Throwable ) (null ), (ApiException ) (null ), reqId );
70
+ code , formatMessage (code , message ), cause , (ApiException ) (null ), reqId );
71
+ }
72
+
73
+ public static SpannerException newSpannerException (
74
+ ErrorCode code , @ Nullable String message , @ Nullable XGoogSpannerRequestId reqId ) {
75
+ return newSpannerException (code , message , (Throwable ) (null ), reqId );
68
76
}
69
77
70
78
public static SpannerException newSpannerException (
71
79
ErrorCode code , @ Nullable String message , @ Nullable Throwable cause ) {
72
- return newSpannerExceptionPreformatted (code , formatMessage ( code , message ) , cause , null , null );
80
+ return newSpannerException (code , message , cause , null );
73
81
}
74
82
75
83
public static SpannerException propagateInterrupt (InterruptedException e ) {
@@ -121,9 +129,8 @@ public static SpannerException newSpannerException(Throwable cause) {
121
129
return newSpannerException (null , cause , null );
122
130
}
123
131
124
- public static SpannerException newSpannerException (
125
- Throwable cause , XGoogSpannerRequestId requestId ) {
126
- return newSpannerException (null , cause , requestId );
132
+ public static SpannerException newSpannerException (Throwable cause , XGoogSpannerRequestId reqId ) {
133
+ return newSpannerException (null , cause , reqId );
127
134
}
128
135
129
136
public static SpannerBatchUpdateException newSpannerBatchUpdateException (
@@ -185,6 +192,10 @@ public static SpannerBatchUpdateException newSpannerBatchUpdateException(
185
192
cause );
186
193
}
187
194
195
+ public static SpannerException newSpannerException (@ Nullable Context context , Throwable cause ) {
196
+ return newSpannerException (context , cause , null );
197
+ }
198
+
188
199
/**
189
200
* Creates a new exception based on {@code cause}. If {@code cause} indicates cancellation, {@code
190
201
* context} will be inspected to establish the type of cancellation.
@@ -230,6 +241,11 @@ static SpannerException newRetryOnDifferentGrpcChannelException(
230
241
return new RetryOnDifferentGrpcChannelException (message , channel , cause );
231
242
}
232
243
244
+ static SpannerException newSpannerExceptionForCancellation (
245
+ @ Nullable Context context , @ Nullable Throwable cause ) {
246
+ return newSpannerExceptionForCancellation (context , cause , null );
247
+ }
248
+
233
249
static SpannerException newSpannerExceptionForCancellation (
234
250
@ Nullable Context context , @ Nullable Throwable cause , @ Nullable XGoogSpannerRequestId reqId ) {
235
251
if (context != null && context .isCancelled ()) {
@@ -247,7 +263,7 @@ static SpannerException newSpannerExceptionForCancellation(
247
263
}
248
264
}
249
265
return newSpannerException (
250
- ErrorCode .CANCELLED , cause == null ? "Cancelled" : cause .getMessage (), cause );
266
+ ErrorCode .CANCELLED , cause == null ? "Cancelled" : cause .getMessage (), cause , reqId );
251
267
}
252
268
253
269
private static String formatMessage (ErrorCode code , @ Nullable String message ) {
@@ -325,7 +341,7 @@ static SpannerException newSpannerExceptionPreformatted(
325
341
DoNotConstructDirectly token = DoNotConstructDirectly .ALLOWED ;
326
342
switch (code ) {
327
343
case ABORTED :
328
- return new AbortedException (token , message , cause , apiException );
344
+ return new AbortedException (token , message , cause , apiException , reqId );
329
345
case RESOURCE_EXHAUSTED :
330
346
ErrorInfo info = extractErrorInfo (cause );
331
347
if (info != null
0 commit comments