Small. Fast. Reliable.
Choose any three.

About Sitemap Documentation Download License News Developers Support

## SQLite C Interface

## Error Codes And Messages

>     int sqlite3_errcode(sqlite3 *db);
>     const char *sqlite3_errmsg(sqlite3*);
>     const void *sqlite3_errmsg16(sqlite3*);

The sqlite3_errcode() interface returns the numeric result code or extended result code for the most recent failed sqlite3_* API call associated with sqlite3 handle 'db'. If a prior API call failed but the most recent API call succeeded, the return value from sqlite3_errcode() is undefined.

The sqlite3_errmsg() and sqlite3_errmsg16() return English-language text that describes the error, as either UTF8 or UTF16 respectively. Memory to hold the error message string is managed internally. The application does not need to worry with freeing the result. However, the error string might be overwritten or deallocated b subsequent calls to other SQLite interface functions.

### Invariants:

F12801 | The sqlite3_errcode(D) interface returns the numeric result code or extended result code for the most recent failed interface call associated with sqlite3 handle D.
U12802 | If a prior API call failed but the most recent API call succeeded, the return value from sqlite3_errcode(), sqlite3_errmsg(), and sqlite3_errmsg16() are undefined.
F12803 | The sqlite3_errmsg(D) and sqlite3_errmsg16(D) interfaces return English-language text that describes the error in the mostly recently failed interface call, encoded as either UTF8 or UTF16 respectively.
U12804 | The strings returned by sqlite3_errmsg() and sqlite3_errmsg16() are only valid until the next SQLite interface call.
F12807 | Calls to sqlite3_errcode(), sqlite3_errmsg(), and sqlite3_errmsg16() themselves do not affect the results of future invocations of these routines.
F12808 | Calls to API routines that do not return an error code (example: sqlite3_data_count()) do not change the error code or message returned by sqlite3_errcode(), sqlite3_errmsg(), or sqlite3_errmsg16().
F12809 | Interfaces that are not associated with a specific database connection (examples: sqlite3_mprintf() or sqlite3_enable_shared_cache() do not change the values returned by sqlite3_errcode(), sqlite3_errmsg(), or sqlite3_errmsg16().

See also lists of Objects, Constants, and Functions.

This page last modified 2008/01/31 20:37:13 UTC