Selecto.Error
(Selecto v0.4.5)
Copy Markdown
Standardized error structure for all Selecto operations.
Provides consistent error handling across the Selecto ecosystem with structured error information including context, query details, and actionable error types.
Error Types
:connection_error- Database connection failures:query_error- SQL query execution failures:validation_error- Input validation failures:configuration_error- Invalid domain or Selecto configuration:no_results- Query returned no results when one expected:multiple_results- Query returned multiple results when one expected:timeout_error- Query execution timeout
Examples
# Connection error
{:error, %Selecto.Error{
type: :connection_error,
message: "Failed to connect to database",
details: %{host: "localhost", port: 5432}
}}
# Query error with context
{:error, %Selecto.Error{
type: :query_error,
message: "Column 'invalid_col' does not exist",
query: "SELECT invalid_col FROM users",
params: [],
details: %{column: "invalid_col", table: "users"}
}}
Summary
Functions
Creates a configuration error.
Creates a connection error.
Creates a field resolution error with context.
Converts various error types to standardized Selecto.Error.
Creates a multiple results error for execute_one/2.
Creates a no results error for execute_one/2.
Creates a query execution error with SQL context.
Creates a query generation error.
Creates a timeout error.
Creates a user-friendly error message for display.
Converts a Selecto.Error to an exception for raising.
Creates a transformation error for output format processing.
Creates a validation error.
Types
@type error_type() ::
:connection_error
| :query_error
| :validation_error
| :configuration_error
| :no_results
| :multiple_results
| :timeout_error
| :field_resolution_error
| :transformation_error
@type t() :: %Selecto.Error{ details: map() | nil, message: String.t(), params: [term()] | nil, query: String.t() | nil, type: error_type() }
Functions
Creates a configuration error.
Creates a connection error.
Creates a field resolution error with context.
Converts various error types to standardized Selecto.Error.
Creates a multiple results error for execute_one/2.
Creates a no results error for execute_one/2.
Creates a query execution error with SQL context.
Creates a query generation error.
Creates a timeout error.
Creates a user-friendly error message for display.
@spec to_exception(t()) :: Exception.t()
Converts a Selecto.Error to an exception for raising.
Creates a transformation error for output format processing.
Creates a validation error.