php8.5
Home/ Manual/ sqlite3 / sqlite3/ SQLite3::enableExceptions

SQLite3::enableExceptions

PHP function Edit on GitHub ✎

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Enable throwing exceptions

Description

SQLite3::enableExceptions(bool $enable = false): bool

Controls whether the SQLite3 instance will throw exceptions or warnings on error.

Parameters

enable

When true, the SQLite3 instance, and SQLite3Stmt and SQLite3Result instances derived from it, will throw exceptions on error.

When false, the SQLite3 instance, and SQLite3Stmt and SQLite3Result instances derived from it, will raise warnings on error.

For either mode, the error code and message, if any, will be available via SQLite3::lastErrorCode and SQLite3::lastErrorMsg respectively.

Return Values

Returns the old value; true if exceptions were enabled, false otherwise.

Changelog

VersionDescription
8.3.0Calling SQLite3::enableExceptions with enable as false will trigger a E_DEPRECATED warning.

Examples

SQLite3::enableExceptions example

php
<?php
$sqlite = new SQLite3(':memory:');
try {
    $sqlite->exec('create table foo');
    $sqlite->enableExceptions(true);
    $sqlite->exec('create table bar');
} catch (Exception $e) {
    echo 'Caught exception: ' . $e->getMessage();
}
?>

The above example will output something similar to:

output
Warning: SQLite3::exec(): near "foo": syntax error in example.php on line 4
Caught exception: near "bar": syntax error

Source: reference/sqlite3/sqlite3/enableExceptions.xml · from the official PHP manual (php/doc-en)