function DatabaseBackend::catchException

Same name in other branches
  1. 8.9.x core/lib/Drupal/Core/Flood/DatabaseBackend.php \Drupal\Core\Flood\DatabaseBackend::catchException()
  2. 8.9.x core/lib/Drupal/Core/Cache/DatabaseBackend.php \Drupal\Core\Cache\DatabaseBackend::catchException()
  3. 10 core/lib/Drupal/Core/Flood/DatabaseBackend.php \Drupal\Core\Flood\DatabaseBackend::catchException()
  4. 10 core/lib/Drupal/Core/Cache/DatabaseBackend.php \Drupal\Core\Cache\DatabaseBackend::catchException()
  5. 11.x core/lib/Drupal/Core/Flood/DatabaseBackend.php \Drupal\Core\Flood\DatabaseBackend::catchException()
  6. 11.x core/lib/Drupal/Core/Cache/DatabaseBackend.php \Drupal\Core\Cache\DatabaseBackend::catchException()

Act on an exception when cache might be stale.

If the table does not yet exist, that's fine, but if the table exists and yet the query failed, then the cache is stale and the exception needs to propagate.

Parameters

$e: The exception.

string|null $table_name: The table name. Defaults to $this->bin.

Throws

\Exception

5 calls to DatabaseBackend::catchException()
DatabaseBackend::deleteAll in core/lib/Drupal/Core/Cache/DatabaseBackend.php
DatabaseBackend::deleteMultiple in core/lib/Drupal/Core/Cache/DatabaseBackend.php
DatabaseBackend::invalidateAll in core/lib/Drupal/Core/Cache/DatabaseBackend.php
DatabaseBackend::invalidateMultiple in core/lib/Drupal/Core/Cache/DatabaseBackend.php
DatabaseBackend::removeBin in core/lib/Drupal/Core/Cache/DatabaseBackend.php

File

core/lib/Drupal/Core/Cache/DatabaseBackend.php, line 443

Class

DatabaseBackend
Defines a default cache implementation.

Namespace

Drupal\Core\Cache

Code

protected function catchException(\Exception $e, $table_name = NULL) {
    if ($this->connection
        ->schema()
        ->tableExists($table_name ?: $this->bin)) {
        throw $e;
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.