例外のスローを有効にする

# SQLite3::enableExceptions

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

SQLite3::enableExceptions — 例外のスローを有効にする

### 説明

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

SQLite3 が、エラー時に警告や例外をスローするかどうかを制御します。

### パラメータ

`enable`

  `true` の場合、 SQLite3 のインスタンスと、 SQLite3Stmt および SQLite3Result から派生したインスタンスは、エラー時に例外をスローします

  `false` の場合、 SQLite3 のインスタンスと、 SQLite3Stmt および SQLite3Result から派生したインスタンスは、エラー時に警告を発生させます。

  どちらのモードであっても、エラーコードやメッセージがもしあれば、 SQLite3::lastErrorCode() と SQLite3::lastErrorMsg() で利用できます。

### 戻り値

古い値を返します。つまり、例外が有効であったなら `true` そうでなければ `false` を返します。

### 変更履歴

バージョン | 説明
--- | ---
8.3.0 | `enable` を `false` にして SQLite3::enableExceptions() をコールすると、`E_DEPRECATED` が発生するようになりました。

### 例

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

上の例の出力は、 たとえば以下のようになります。

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open