我有一个gen_event
处理程序在Handler:init
崩溃。唯一可见的结果是没有添加处理程序,gen_event:which_handlers
的结果不包含我的处理程序。
如何检测到这种情况并将适当的内容(最好包括堆栈跟踪)写入控制台或日志?
答案 0 :(得分:3)
如果在添加时失败,您可以编写ok = gen_event:add_handler(EventMgrRef, Handler, Args)
,这样它就不会无声地失败。
如果以后失败,在执行期间,您可以选择ok = gen_event:add_sup_handler(EventMgrRef, Handler, Args)
添加受监督的处理程序。