diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc
index d11e608..071e98e 100644
--- a/core/includes/bootstrap.inc
+++ b/core/includes/bootstrap.inc
@@ -679,7 +679,7 @@ function _drupal_error_handler($error_level, $message, $filename, $line, $contex
  * always fatal: the execution of the script will stop as soon as the exception
  * handler exits.
  *
- * @param \Exception|\BaseException $exception
+ * @param \ThrowableInterface $exception
  *   The exception object that was thrown.
  */
 function _drupal_exception_handler($exception) {
@@ -689,12 +689,12 @@ function _drupal_exception_handler($exception) {
     // Log the message to the watchdog and return an error page to the user.
     _drupal_log_error(Error::decodeException($exception), TRUE);
   }
-  // PHP 7 introduces BaseExceptions.
-  catch (BaseException $exception2) {
-    _drupal_exception_handler_additional($exception, $exception2);
+  // PHP 7 introduces Error throwables.
+  catch (\Error $error) {
+    _drupal_exception_handler_additional($exception, $error);
   }
   // In order to be compatibile with PHP 5 we also catch regular Exceptions.
-  catch (Exception $exception2) {
+  catch (\Exception $exception2) {
     _drupal_exception_handler_additional($exception, $exception2);
   }
 }
@@ -702,9 +702,9 @@ function _drupal_exception_handler($exception) {
 /**
  * Displays any additional errors caught while handling an exception.
  *
- * @param \Exception|\BaseException $exception
+ * @param \ThrowableInterface $exception
  *   The first exception object that was thrown.
- * @param \Exception|\BaseException $exception
+ * @param \ThrowableInterface $error
  *   The second exception object that was thrown.
  */
 function _drupal_exception_handler_additional($exception, $exception2) {
@@ -1098,12 +1098,12 @@ function _drupal_shutdown_function() {
       call_user_func_array($callback['callback'], $callback['arguments']);
     }
   }
-  // PHP 7 introduces BaseExceptions.
-  catch (BaseException $exception) {
-    _drupal_shutdown_function_handle_exception($exception);
+  // PHP 7 introduces Error throwables.
+  catch (\Error $error) {
+    _drupal_shutdown_function_handle_exception($error);
   }
   // In order to be compatibile with PHP 5 we also catch regular Exceptions.
-  catch (Exception $exception) {
+  catch (\Exception $exception) {
     _drupal_shutdown_function_handle_exception($exception);
   }
 }
@@ -1111,7 +1111,7 @@ function _drupal_shutdown_function() {
 /**
  * Displays and logs any errors that may happen during shutdown.
  *
- * @param \Exception|\BaseException $exception
+ * @param \ThrowableInterface $exception
  *   The exception object that was thrown.
  *
  * @see _drupal_shutdown_function()
diff --git a/core/lib/Drupal/Core/Utility/Error.php b/core/lib/Drupal/Core/Utility/Error.php
index c72fba4..ab33e42 100644
--- a/core/lib/Drupal/Core/Utility/Error.php
+++ b/core/lib/Drupal/Core/Utility/Error.php
@@ -33,7 +33,7 @@ class Error {
   /**
    * Decodes an exception and retrieves the correct caller.
    *
-   * @param \Exception|\BaseException $exception
+   * @param \ThrowableInterface $exception
    *   The exception object that was thrown.
    *
    * @return array
@@ -82,7 +82,7 @@ public static function decodeException($exception) {
   /**
    * Renders an exception error message without further exceptions.
    *
-   * @param \Exception|\BaseException $exception
+   * @param \ThrowableInterface $exception
    *   The exception object that was thrown.
    *
    * @return string
diff --git a/core/modules/system/src/Tests/System/ErrorHandlerTest.php b/core/modules/system/src/Tests/System/ErrorHandlerTest.php
index a42686b..1f4fe1b 100644
--- a/core/modules/system/src/Tests/System/ErrorHandlerTest.php
+++ b/core/modules/system/src/Tests/System/ErrorHandlerTest.php
@@ -52,8 +52,8 @@ function testErrorHandler() {
       '!message' => 'Argument 1 passed to Drupal\error_test\Controller\ErrorTestController::Drupal\error_test\Controller\{closure}() must be of the type array, string given, called in ' . \Drupal::root() . '/core/modules/system/tests/modules/error_test/src/Controller/ErrorTestController.php on line 66 and defined',
     );
     if (version_compare(PHP_VERSION, '7.0.0-dev') >= 0)  {
-      // In PHP 7, instead of a recoverable fatal error we get a TypeException.
-      $fatal_error['%type'] = 'TypeException';
+      // In PHP 7, instead of a recoverable fatal error we get a TypeError.
+      $fatal_error['%type'] = 'TypeError';
       // The error message also changes in PHP 7.
       $fatal_error['!message'] = 'Argument 1 passed to Drupal\error_test\Controller\ErrorTestController::Drupal\error_test\Controller\{closure}() must be of the type array, string given, called in ' . \Drupal::root() . '/core/modules/system/tests/modules/error_test/src/Controller/ErrorTestController.php on line 66';
     }
