public final class SpannerExceptionFactory
A factory for creating instances of SpannerException and its subtypes. All creation of
these exceptions is directed through the factory. This ensures that particular types of errors
are always expressed as the same concrete exception type. For example, exceptions of type ErrorCode#ABORTED are always represented by AbortedException.
Static Methods
asSpannerException(Throwable t)
public static SpannerException asSpannerException(Throwable t)
causeAsRunTimeException(ExecutionException executionException)
public static RuntimeException causeAsRunTimeException(ExecutionException executionException)
newAbortedDueToConcurrentModificationException(AbortedDueToConcurrentModificationException cause)
public static AbortedDueToConcurrentModificationException newAbortedDueToConcurrentModificationException(AbortedDueToConcurrentModificationException cause)
newAbortedDueToConcurrentModificationException(AbortedException cause)
public static AbortedDueToConcurrentModificationException newAbortedDueToConcurrentModificationException(AbortedException cause)
Constructs a specific aborted exception that should only be thrown by a connection after an
internal retry aborted due to concurrent modifications.
newAbortedDueToConcurrentModificationException(AbortedException cause, SpannerException databaseError)
public static AbortedDueToConcurrentModificationException newAbortedDueToConcurrentModificationException(AbortedException cause, SpannerException databaseError)
Constructs a specific aborted exception that should only be thrown by a connection after an
internal retry aborted because a database call caused an exception that did not happen during
the original attempt.
newDmlBatchUpdateCountVerificationFailedException(long[] expected, long[] actual)
public static DmlBatchUpdateCountVerificationFailedException newDmlBatchUpdateCountVerificationFailedException(long[] expected, long[] actual)
Constructs a specific error that
Parameters |
Name |
Description |
expected |
long[]
|
actual |
long[]
|
newSpannerBatchUpdateException(ErrorCode code, String message, long[] updateCounts)
public static SpannerBatchUpdateException newSpannerBatchUpdateException(ErrorCode code, String message, long[] updateCounts)
newSpannerException(ErrorCode code, String message)
public static SpannerException newSpannerException(ErrorCode code, String message)
newSpannerException(ErrorCode code, String message, Throwable cause)
public static SpannerException newSpannerException(ErrorCode code, String message, Throwable cause)
newSpannerException(Context context, Throwable cause)
public static SpannerException newSpannerException(Context context, Throwable cause)
Creates a new exception based on cause
. If cause
indicates cancellation,
context
will be inspected to establish the type of cancellation.
Intended for internal library use; user code should use #newSpannerException(ErrorCode, String) instead of this method.
Parameters |
Name |
Description |
context |
io.grpc.Context
|
cause |
Throwable
|
newSpannerException(Throwable cause)
public static SpannerException newSpannerException(Throwable cause)
propagateInterrupt(InterruptedException e)
public static SpannerException propagateInterrupt(InterruptedException e)
propagateTimeout(TimeoutException e)
public static SpannerException propagateTimeout(TimeoutException e)
Transforms a TimeoutException
to a SpannerException
.
try {
Spanner spanner = SpannerOptions.getDefaultInstance();
spanner
.getDatabaseAdminClient()
.createDatabase("[INSTANCE_ID]", "[DATABASE_ID]", [STATEMENTS])
.get();
} catch (TimeoutException e) {
propagateTimeout(e);
}
Constructors
SpannerExceptionFactory()
public SpannerExceptionFactory()