wp-includes/class-wp-fatal-error-handler.php:19Core class used as the default shutdown handler for fatal errors.
Every hook that fires from inside WP_Fatal_Error_Handler, in the order it appears in the class, grouped by the method that fires it.
#[AllowDynamicProperties]class WP_Fatal_Error_Handler { /** * Runs the shutdown handler. * * This method is registered via `register_shutdown_function()`. * * @since 5.2.0 * * @global WP_Locale $wp_locale WordPress date and time locale object. */ public function handle() { if ( defined( 'WP_SANDBOX_SCRAPING' ) && WP_SANDBOX_SCRAPING ) { return; } // Do not trigger the fatal error handler while updates are being installed. if ( wp_is_maintenance_mode() ) { return; } try { // Bail if no error found. $error = $this->detect_error(); if ( ! $error ) { return; } if ( ! isset( $GLOBALS['wp_locale'] ) && function_exists( 'load_default_textdomain' ) ) { load_default_textdomain(); } $handled = false; if ( ! is_multisite() && wp_recovery_mode()->is_initialized() ) { $handled = wp_recovery_mode()->handle_error( $error ); } // Display the PHP error template if headers not sent. if ( is_admin() || ! headers_sent() ) { $this->display_error_template( $error, $handled ); } } catch ( Exception $e ) { // Catch exceptions and remain silent. } } /** * Detects the error causing the crash if it should be handled. * * @since 5.2.0 * * @return array|null Error information returned by `error_get_last()`, or null * if none was recorded or the error should not be handled. */ protected function detect_error() { $error = error_get_last(); // No error, just skip the error handling code. if ( null === $error ) { return null; } // Bail if this error should not be handled. if ( ! $this->should_handle_error( $error ) ) { return null; } return $error; } /** * Determines whether we are dealing with an error that WordPress should handle * in order to protect the admin backend against WSODs. * * @since 5.2.0 * * @param array $error Error information retrieved from `error_get_last()`. * @return bool Whether WordPress should handle this error.Introduced in 5.2.0. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
src/wp-includes/class-wp-fatal-error-handler.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.