logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll
09/05/2020, by maria

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