# SQLite3::enableExceptions

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

SQLite3::enableExceptions — Active le lancement d'exceptions

### Description

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

Contrôle si l'instance SQLite3 lancera des exceptions ou des avertissements lors d'une erreur.

### Liste de paramètres

`enable`

  Si `true`, l'instance SQLite3, et les instances dérivées de SQLite3Stmt et SQLite3Result, lanceront des exceptions en cas d'erreurs.

  Si `false`, l'instance SQLite3, et les instances dérivées de SQLite3Stmt et SQLite3Result, lanceront des avertissements en cas d'erreurs.

  Pour chacun des modes, le code et message d'erreur, s'il y a, seront disponible grâce à SQLite3::lastErrorCode() et SQLite3::lastErrorMsg() respectivement.

### Valeurs de retour

Retourne l'ancienne valeur ; `true` si les exceptions étaient activées, `false` sinon.

### Historique

Version | Description
--- | ---
8.3.0 | Appeler SQLite3::enableExceptions() avec `enable` à `false` déclenchera un avertissement `E_DEPRECATED`.

### Exemples

Exemple #1 Exemple avec SQLite3::enableExceptions()

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

Résultat de l'exemple ci-dessus est similaire à :

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