class_docstr: EmitterGroup instances manage a set of related
  :class:`EventEmitters <vispy.event.EventEmitter>`.
  Its primary purpose is to provide organization for objects
  that make use of multiple emitters and to reduce the boilerplate code
  needed to initialize those emitters with default connections.
  
  EmitterGroup instances are usually stored as an 'events' attribute on
  objects that use multiple emitters. For example::
  
       EmitterGroup  EventEmitter
               |       |
      Canvas.events.mouse_press
      Canvas.events.resized
      Canvas.events.key_press
  
  EmitterGroup is also a subclass of
  :class:`EventEmitters <vispy.event.EventEmitter>`,
  allowing it to emit its own
  events. Any callback that connects directly to the EmitterGroup will
  receive *all* of the events generated by the group's emitters.
  
  Parameters
  ----------
  source : object
      The object that the generated events apply to.
  auto_connect : bool
      If *auto_connect* is True (default), then one connection will
      be made for each emitter that looks like
      :func:`emitter.connect((source, 'on_' + event_name))
      <vispy.event.EventEmitter.connect>`.
      This provides a simple mechanism for automatically connecting a large
      group of emitters to default callbacks.
  emitters : keyword arguments
      See the :func:`add <vispy.event.EmitterGroup.add>` method.
class_docstr_tok: ["EmitterGroup","instances","manage","a","set","of","related",":","class",":","`","EventEmitters","<","vispy.event.EventEmitter",">","`",".","Its","primary","purpose","is","to","provide","organization","for","objects","that","make","use","of","multiple","emitters","and","to","reduce","the","boilerplate","code","needed","to","initialize","those","emitters","with","default","connections",".","EmitterGroup","instances","are","usually","stored","as","an","'events","'","attribute","on","objects","that","use","multiple","emitters",".","For","example",":",":","EmitterGroup","EventEmitter","|","|","Canvas.events.mouse_press","Canvas.events.resized","Canvas.events.key_press","EmitterGroup","is","also","a","subclass","of",":","class",":","`","EventEmitters","<","vispy.event.EventEmitter",">","`",",","allowing","it","to","emit","its","own","events",".","Any","callback","that","connects","directly","to","the","EmitterGroup","will","receive","*","all","*","of","the","events","generated","by","the","group","'s","emitters",".","Parameters","--","--","--","--","--","source",":","object","The","object","that","the","generated","events","apply","to",".","auto_connect",":","bool","If","*","auto_connect","*","is","True","(","default",")",",","then","one","connection","will","be","made","for","each","emitter","that","looks","like",":","func",":","`","emitter.connect","(","(","source",",","'on_","'","+","event_name",")",")","<","vispy.event.EventEmitter.connect",">","`",".","This","provides","a","simple","mechanism","for","automatically","connecting","a","large","group","of","emitters","to","default","callbacks",".","emitters",":","keyword","arguments","See","the",":","func",":","`","add","<","vispy.event.EmitterGroup.add",">","`","method","."]
code: def ignore_callback_errors(self):
      return super(EventEmitter, self).ignore_callback_errors
  
imports: from __future__ import division
  from collections import OrderedDict
  import inspect
  import traceback
  import weakref
  from .logs import logger, _handle_exception
label_desc: Use image node_id 12 for calling the EmitterGroup obj's underlying member method code with example usage: obj.ignore_callback_errors() and returns: super