Scroll
Logging errors
The Database API throws exceptions on error, which can be caught by wrapping database operations in try {} catch() {} blocks, as shown in this example:
// The transaction opens here.
$txn = $connection->startTransaction();
try {
$id = $connection->insert('example')
->fields([
'field1' => 'mystring',
'field2' => 5,
])
->execute();
my_other_function($id);
return $id;
}
catch (Exception $e) {
// Something went wrong somewhere, so roll back now.
$txn->rollBack();
// Log the exception to watchdog.
\Drupal::logger('type')->error($e->getMessage());
}