          bits = data.split('$', 1)
          if len(bits) == 2:
              hash, value = bits
              if constant_time_compare(hash, self._hash(value)):
                  with suppress(ValueError):
                      # If we get here (and the JSON decode works), everything is
                      # good. In any other case, drop back and return None.
                      return json.loads(value, cls=MessageDecoder)
          # Mark the data as used (so it gets removed) since something was wrong
          # with the data.
 
</s> remove     with suppress(KeyError):
 </s> add     try: </s> remove         # Ignore decode error in SSL/TLS connection tests as the test only
        # cares whether the connection attempt was made.
        with suppress(UnicodeDecodeError):
 </s> add         try:
                try:
          bits = data.split('$', 1)
          if len(bits) == 2:
              hash, value = bits
              if constant_time_compare(hash, self._hash(value)):
                try:
                      # If we get here (and the JSON decode works), everything is
                      # good. In any other case, drop back and return None.
                      return json.loads(value, cls=MessageDecoder)
          # Mark the data as used (so it gets removed) since something was wrong
          # with the data.
keep keep keep keep replace keep keep keep keep keep
 Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()."

This reverts commit 550cb3a365dee4edfdd1563224d5304de2a57fda
because try/except performs better. 
django/contrib/messages/storage/cookie.py