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