diff --git a/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryException.java b/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryException.java index 4f93c42bb..8d6da0b4e 100644 --- a/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryException.java +++ b/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryException.java @@ -58,7 +58,12 @@ public BigQueryException(int code, String message, BigQueryError error) { } public BigQueryException(List errors) { - super(0, null, null, false, RETRYABLE_ERRORS, null); + super( + 0, + errors != null ? errors.get(0).getMessage() : null, + errors != null ? errors.get(0).getReason() : null, + true, + RETRYABLE_ERRORS); this.errors = errors; } diff --git a/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/it/ITBigQueryTest.java b/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/it/ITBigQueryTest.java index 14b4f7a88..82be88617 100644 --- a/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/it/ITBigQueryTest.java +++ b/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/it/ITBigQueryTest.java @@ -1475,9 +1475,10 @@ public void testSingleStatementsQueryException() throws InterruptedException { try { bigquery.create(JobInfo.of(QueryJobConfiguration.of(invalidQuery))).waitFor(); fail("BigQueryException was expected"); - } catch (BigQueryException e) { - BigQueryError error = e.getError(); - assertNotNull(error); + } catch (BigQueryException ex) { + assertEquals("invalidQuery", ex.getReason()); + assertNotNull(ex.getMessage()); + BigQueryError error = ex.getError(); assertEquals("invalidQuery", error.getReason()); assertNotNull(error.getMessage()); } @@ -1491,10 +1492,11 @@ public void testMultipleStatementsQueryException() throws InterruptedException { DATASET, TABLE_ID.getTable(), DATASET, TABLE_ID.getTable()); try { bigquery.create(JobInfo.of(QueryJobConfiguration.of(invalidQuery))).waitFor(); - fail("JobException was expected"); - } catch (BigQueryException e) { - BigQueryError error = e.getError(); - assertNotNull(error); + fail("BigQueryException was expected"); + } catch (BigQueryException ex) { + assertEquals("invalidQuery", ex.getReason()); + assertNotNull(ex.getMessage()); + BigQueryError error = ex.getError(); assertEquals("invalidQuery", error.getReason()); assertNotNull(error.getMessage()); }