8000 Move some exception translation logic to BaseServiceException · Issue #413 · googleapis/google-cloud-java · GitHub
[go: up one dir, main page]

Skip to con 8000 tent

Move some exception translation logic to BaseServiceException #413

@mziccard

Description

@mziccard

In DefaultStorageRpc (and also other services as DefaultBigQueryRpc) we have code handling the translation of IOException to service specific exceptions:

private static BigQueryException translate(IOException exception) {
  BigQueryException translated;
  if (exception instanceof GoogleJsonResponseException
      && ((GoogleJsonResponseException) exception).getDetails() != null) {
    translated = translate(((GoogleJsonResponseException) exception).getDetails());
  } else {
    translated =
        new BigQueryException(BigQueryException.UNKNOWN_CODE, exception.getMessage(), false);
  }
  translated.initCause(exception);
  return translated;
}

private static BigQueryException translate(GoogleJsonError exception) {
  boolean retryable = RETRYABLE_CODES.contains(exception.getCode());
  return new BigQueryException(exception.getCode(), exception.getMessage(), retryable);
}

Part of this logic should be moved to BaseServiceException

Metadata

Metadata

Assignees

Labels

🚨This issue needs some love.api: coretriage meI really want to be triaged.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0