10.25.4 Exceptions

When an error in the ODBC layer occurs, predicates in library(odbc) throw error/2 exceptions. Both arguments of the error/2 exception are the same and has the following form odbc_error(Detail, Goal), where Goal is some goal where the error occurred, and Detail gives more information about the error. The Detail term can have the following form:

data_conversion

Thrown in case of a error when converting to or from a SICStus data type from or to an ODBC data type.

unsupported_datatype

Thrown when an SQL data type is unsupported when converting to or from a SICStus data type from or to an ODBC data type.

unknown_datatype

Thrown when an unknown SQL data type is found when converting to or from a SICStus data type from or to an ODBC data type.

type_error

Thrown when the Prolog data is of a type incompatible with the SQL data type when converting from a SICStus data type to an ODBC data type.

native_code

Thrown in case of a error in the native code of library(odbc).

invalid_handle(handle_type, InvalidHandle, ReturnCode)

Thrown when an invalid handle type is specified.

invalid_handle('HandleType'-HandleType, 'Handle'-Handle)

Thrown when an invalid handle is specified.

invalid_handle(result_set, ResultSet)

Thrown when a Result Set handle is invalid.

unknown_connection_option(Options)

Thrown when an unknown option was given when calling odbc_db_open/[3,4,5].

internal_error

Thrown when an internal error occurs in library(odbc). Please report this to SICStus Support.

diag(ReturnCode, Recs)

Thrown when an error occurs in the ODBC layer, e.g. a SQL syntax error. Recs is bound to the diagnostic records reported from ODBC.

out_of_memory

Thrown when some operation runs out of memory.

there may be other Details and new Details may be added in the future.



Send feedback on this subject.