    def add_event_listener(self, type_, handler):
        """绑定事件和监听器处理函数"""
        # 尝试获取该事件类型对应的处理函数列表，若无则创建
        try:
            handlerlist = self.__handlers[type_]
        except KeyError:
            handlerlist = []

        self.__handlers[type_] = handlerlist
        # 若要注册的处理器不在该事件的处理器列表中，则注册该事件
        if handler not in handlerlist:
            @functools.wraps(handler)
            def try_handler(event):
                try:
                    handler(event)
                except:
                    logger.exception('try_handler')

            handlerlist.append(try_handler)
绑定事件和监听器处理函数
biliup/engine/event.py