code: def checks(fn):
      """Throw exception if error runs"""
  
      @wraps(fn)
      def wrapper(*args, **kwargs):
          data = args[0]
          if len(np.shape(data)) != 2:
              raise error.BadInputError(
                  "No support for arrays that aren't 2D yet."
              )
          elif not _shape_2d(data):
              raise error.BadInputError("Not a 2D array.")
          elif not _is_ndarray(data):
              raise error.BadInputError("Not a np.ndarray.")
          elif not _dtype_float(data):
              raise error.BadInputError("Data is not float.")
          elif not _nan_exists(data):
              raise error.BadInputError("No NaN's in given data")
          return u.execute_fn_with_args_and_or_kwargs(fn, args, kwargs)
  
      return wrapper
  
file_path: impyute/impyute/ops/wrapper.py
imports: from functools import wraps
  import numpy
  from .None import error
  from .None import matrix
  from .None import util
label_desc: Use image node_id 11 for calling a global function with example usage: checks(fn) and returns: wrapper, u