code: def try_convert(typ, value, name):
      if value is None:
          return None
      if isinstance(value, typ):
          return value
      try:
          return typ(value)
      except (TypeError, ValueError, ArithmeticError) as err:
          raise InvalidArgument(
              f"Cannot convert {name}={value!r} of type "
              f"{type(value).__name__} to type {typ.__name__}"
          ) from err
  
file_path: catboost/contrib/python/hypothesis/py3/hypothesis/internal/validation.py
imports: import decimal
  import math
  from numbers import Rational, Real
  from hypothesis.errors import InvalidArgument
  from hypothesis.internal.coverage import check_function
label_desc: Use image node_id 5 for calling a global function with example usage: try_convert(typ, value, name) and returns: None, value, typ