              self.log("Pretending to link '%s'" % source_path, level=1)
          else:
              self.log("Linking '%s'" % source_path, level=1)
              full_path = self.storage.path(prefixed_path)
              with suppress(OSError):
                  os.makedirs(os.path.dirname(full_path))
              try:
                  if os.path.lexists(full_path):
                      os.unlink(full_path)
                  os.symlink(source_path, full_path)
 
</s> remove                 with suppress(NoReverseMatch):
 </s> add                 try: </s> remove                 with suppress(NoReverseMatch):
 </s> add                 try:
            try:
              self.log("Pretending to link '%s'" % source_path, level=1)
          else:
              self.log("Linking '%s'" % source_path, level=1)
              full_path = self.storage.path(prefixed_path)
            try:
                  os.makedirs(os.path.dirname(full_path))
              try:
                  if os.path.lexists(full_path):
                      os.unlink(full_path)
                  os.symlink(source_path, full_path)
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/staticfiles/management/commands/collectstatic.py