          try:
              if len(value) != 1:
                  return plural_suffix
      return singular_suffix
  
  
  @register.filter("phone2numeric", is_safe=True)
  def phone2numeric_filter(value):
 
</s> remove         with suppress(TypeError):  # len() of unsized object.
 </s> add         try: </s> remove             with suppress(ValueError):
 </s> add             try: </s> remove         with suppress(NotImplementedError):
 </s> add         try:
        except TypeError:  # len() of unsized object.
            pass
          try:
              if len(value) != 1:
                  return plural_suffix
        except TypeError:  # len() of unsized object.
            pass
      return singular_suffix
  
  
  @register.filter("phone2numeric", is_safe=True)
  def phone2numeric_filter(value):
keep keep add 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/template/defaultfilters.py