(PHP 5 >= 5.3.0, PHP 7, PHP 8)
SQLite3::enableExceptions — 例外のスローを有効にする
$enable
= false
): boolSQLite3 が、エラー時に警告や例外をスローするかどうかを制御します。
enable
true
の場合、
SQLite3 のインスタンスと、
SQLite3Stmt および SQLite3Result
から派生したインスタンスは、エラー時に例外をスローします
false
の場合、
SQLite3 のインスタンスと、
SQLite3Stmt および SQLite3Result
から派生したインスタンスは、エラー時に警告を発生させます。
どちらのモードであっても、エラーコードやメッセージがもしあれば、 SQLite3::lastErrorCode() と SQLite3::lastErrorMsg() で利用できます。
古い値を返します。つまり、例外が有効であったなら true
そうでなければ false
を返します。
例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