现在的位置: 首页 > 综合 > 正文

gen:call和gen_server:call的区别

2013年09月10日 ⁄ 综合 ⁄ 共 271字 ⁄ 字号 评论关闭

 

调用catch gen:call可以获得更多的异常信息
gen_server:call内部调用了catch丢失了很多信息 ,外部无法catch到
 
此外好像没啥区别了
 
 
gen:call 同步调用其他服务器进程的方法(内部通过收发消息实现)
如果服务器返回{reply,xx,Status}
那么gen:call返回{ok,xx}
如果服务器没有对应的方法Handler,那么gen:call抛出{'EXIT',_}异常
 
对于gen_server:call来说,服务器返回{reply,xx,Status}的话,gen_server:call就只返回xx

抱歉!评论已关闭.