Scroll
Журналирование ошибок
Database API генерирует исключения при ошибках, которые можно перехватить, обернув операции с базой данных в блоки try {} catch() {}, как показано в этом примере:
// Здесь открывается транзакция.
$txn = $connection->startTransaction();
try {
$id = $connection->insert('example')
->fields([
'field1' => 'mystring',
'field2' => 5,
])
->execute();
my_other_function($id);
return $id;
}
catch (Exception $e) {
// Что-то пошло не так, поэтому откатываем транзакцию.
$txn->rollBack();
// Записываем исключение в watchdog.
\Drupal::logger('type')->error($e->getMessage());
}