Class SFException

All Implemented Interfaces:
Serializable

public class SFException extends RuntimeException
Snowflake exception in the Ingest SDK
See Also:
  • Constructor Details

    • SFException

      public SFException(ErrorCode errorCode, String message, Throwable cause)
      Construct a Snowflake exception using strongly-typed ErrorCode enum (RECOMMENDED)
      Parameters:
      errorCode - the error code enum value
      message - the message of the exception
      cause - the cause of the exception
    • SFException

      public SFException(ErrorCode errorCode, String message)
      Construct a Snowflake exception using strongly-typed ErrorCode enum (RECOMMENDED)
      Parameters:
      errorCode - the error code enum value
      message - the message of the exception
    • SFException

      public SFException(String errorCodeName, String message, int httpStatusCode, String httpStatusName)
      Constructor with explicit error details (FOR FFI USAGE) Use this when you have complete error information including HTTP status code and name. Prefer ErrorCode enum constructors for new Java code when possible.
      Parameters:
      errorCodeName - the error code name
      message - the message of the exception
      httpStatusCode - the HTTP status code
      httpStatusName - the HTTP status code name
  • Method Details

    • getMessage

      public String getMessage()
      Log-friendly message that includes error code and HTTP status.

      Format matches Python str(StreamingIngestError) and Node StreamingIngestError#toString(): "{errorCodeName}: {detail} (HTTP {code} {name})".

      This is what exception.getMessage() and default toString() produce, so both logger.error("{}", e.getMessage()) and logger.error("failed", e) include the structured fields.

      Overrides:
      getMessage in class Throwable
    • getDetailMessage

      public String getDetailMessage()
      Original detail string passed to the constructor, without error-code / HTTP-status decoration.

      Prefer getMessage() when logging. Use this when a caller needs the undecorated Rust / SDK detail (for example when mapping to a structured error payload that already has separate error-code and HTTP-status fields).

    • getErrorCodeName

      public String getErrorCodeName()
      Get the error code name
      Returns:
      the error code name (e.g., \"ConfigError\", \"InvalidArgument\")
    • getHttpStatusCode

      public int getHttpStatusCode()
      Get the HTTP status code
      Returns:
      the HTTP status code
    • getHttpStatusName

      public String getHttpStatusName()
      Get the HTTP status code name
      Returns:
      the HTTP status code name (e.g., \"Bad Request\", \"Internal Server Error\")