public function handleError(int $type, string $message, string $file = '', int $line = 0): bool
    {
        if (\error_reporting() === 0) {
            return false;
        }

        // Level is the current error reporting level to manage silent error.
        // Strong errors are not authorized to be silenced.
        $severity = \error_reporting() | \E_RECOVERABLE_ERROR | \E_USER_ERROR | \E_DEPRECATED | \E_USER_DEPRECATED;

        if ($severity) {
            throw new FatalErrorException($message, 0, $severity, $file, $line);
        }

        return true;
    }