{"record":{"id":"1c7246cfe5187ae3","repo":"GoogleContainerTools/jib","slug":"ex-getmessage-1c7246","errorCode":null,"errorMessage":"${ex.getMessage()}","messagePattern":"\\$\\{ex\\.getMessage\\(\\)\\}","errorType":"exception","errorClass":"BuildStepsExecutionException","httpStatus":null,"severity":"error","filePath":"jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/JibBuildRunner.java","lineNumber":280,"sourceCode":"      if (ex.getCause() instanceof ResponseException) {\n        handleRegistryUnauthorizedException(\n            new RegistryUnauthorizedException(\n                ex.getServerUrl(), ex.getImageName(), (ResponseException) ex.getCause()),\n            helpfulSuggestions);\n      } else {\n        // Unknown cause\n        throw new BuildStepsExecutionException(helpfulSuggestions.none(), ex);\n      }\n\n    } catch (UnknownHostException ex) {\n      throw new BuildStepsExecutionException(helpfulSuggestions.forUnknownHost(), ex);\n\n    } catch (InsecureRegistryException ex) {\n      throw new BuildStepsExecutionException(helpfulSuggestions.forInsecureRegistry(), ex);\n\n    } catch (RegistryException ex) {\n      String message = Verify.verifyNotNull(ex.getMessage()); // keep null-away happy\n      throw new BuildStepsExecutionException(message, ex);\n\n    } catch (ExecutionException ex) {\n      String message = ex.getCause().getMessage();\n      throw new BuildStepsExecutionException(\n          message == null ? \"(null exception message)\" : message, ex.getCause());\n\n    } catch (InterruptedException ex) {\n      Thread.currentThread().interrupt();\n      throw new BuildStepsExecutionException(helpfulSuggestions.none(), ex);\n    }\n\n    throw new IllegalStateException(\"unreachable\");\n  }\n\n  /**\n   * Set the location where the image digest will be saved. If {@code null} then digest is not\n   * saved.\n   *","sourceCodeStart":262,"sourceCodeEnd":298,"githubUrl":"https://github.com/GoogleContainerTools/jib/blob/fb949e2676afbbd7dd7a1ef61e20251931325654/jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/JibBuildRunner.java#L262-L298","documentation":"BuildStepsExecutionException wrapping a RegistryException whose message is surfaced verbatim (ex.getMessage()) in JibBuildRunner.runBuild(). RegistryException is the registry's own error report — an error response body from the registry during blob upload/manifest push (quota exceeded, name invalid, blob unknown, server error). The build aborts because the remote registry explicitly refused the operation; the displayed text is the registry's reason, not a Jib-side diagnosis.","triggerScenarios":"Thrown at jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/JibBuildRunner.java:280 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Read the surfaced registry message and act on the registry-specific cause (quota, invalid tag/repository name, rate limit)","Retry later if the registry reported a transient server error or rate limiting","Check the repository exists and that the image name complies with the registry's naming rules"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fb949e2676afbbd7dd7a1ef61e20251931325654","analyzedAt":"2026-09-06T14:04:09.491Z","contentChangedAt":"2026-09-06T14:04:09.491Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}