class_docstr: Class to raise an informative error when used
class_docstr_tok: ["Class","to","raise","an","informative","error","when","used"]
docstr: Raise informative error accessing not-found attributes
docstr_tok: ["Raise","informative","error","accessing","not-found","attributes"]
code: def __getattr__(self, attr_name):
      """Raise informative error accessing not-found attributes"""
      raise BomberError(
          f'Trying to access attribute "{attr_name}" of '
          f'non-existent data "{self.name}"\n\n{self.msg}\n'
      )
  
imports: import configparser
  import glob
  import os
  import sys
  from os.path import join
  from packaging.version import Version
  from .environment import get_nipy_system_dir, get_nipy_user_dir
label_desc: Use image node_id 2 for calling the Bomber obj's underlying member method code with example usage: obj.__getattr__(attr_name) without return types