SQLite3::enableExceptions

Enable throwing exceptions

&reftitle.description; public `bool` `SQLite3::enableExceptions` `bool` `enable`&false;

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

&reftitle.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.

&reftitle.returnvalues;

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

&reftitle.changelog;

&Version; | &Description;
8.3.0 | Calling `SQLite3::enableExceptions` with `enable` as &false; will trigger a `E_DEPRECATED` warning.

&reftitle.examples;

### `SQLite3::enableExceptions` example

    <?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();
    }
    ?>

&example.outputs.similar;

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