今天调试程序,冒出了这段
===ERROR REPORT==== 20-Sep-2010::15:33:53 ===
** Generic server my_bank terminating
** Last message in was {add,"joe",10}
** When Server state == 20496
** Reason for termination ==
** {'function not exported',[{ets,lookup,[]},
{my_bank,handle_call,3},
{gen_server,handle_msg,5},
{proc_lib,init_p_do_apply,3}]}
** exception exit: undef
in function ets:lookup/0
called as ets:lookup()
in call from my_bank:handle_call/3
in call from gen_server:handle_msg/5
in call from proc_lib:init_p_do_apply/3
晕啊,erlang的出错信息太难懂了,都是模式匹配 -_-!
Last message in was {add,"joe",10} ,这是指服务端最后一次收到的信息是{add,"joe",10}
{'function not exported',[{ets,lookup,[]},
{my_bank,handle_call,3},
{gen_server,handle_msg,5},
{proc_lib,init_p_do_apply,3}]}
类似于java的堆栈信息,
这是指,函数未导出,外部调用的函数对外不可见
{ets,lookup,[]}指的是{模块名,函数名,参数}
后面类似。
本质原因是,ets:lookup/0 不存在,标准库只有ets:lookup/2这个函数,所以出错了!
分享到:
相关推荐
Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson开发,主要用于构建高可用性、分布式和实时系统。版本24.3.4.4是Erlang的一个更新版本,包含了对先前版本的改进和修复。Erlang以其强大的错误...
**Erlang编程:Introducing Erlang** Erlang是一种函数式编程语言,由爱立信在1986年开发,主要用于构建高可用性、容错性和并发性的分布式系统。"Introducing Erlang"是Simon St. Laurent撰写的一本入门级教程,...
在IT领域,Erlang是一种强大的并发编程语言,主要用于构建高可用性、容错性和分布式系统。它以其轻量级进程、消息传递和热代码升级等特性而闻名。Unix(包括其衍生版本如Linux)是广泛使用的操作系统,具有丰富的...
当一个进程出错时,它不会影响到其他进程,这种特性使得Erlang非常适合构建高可用的服务。 5. **简洁的错误处理**:Erlang使用“let it crash”哲学,鼓励快速失败和快速恢复。错误通常通过抛出异常来处理,而不是...
Erlang是一种高级编程语言,特别适用于并发、分布式和实时系统。它由Ericsson公司开发,主要用于构建高可用性、容错性和可扩展性的软实时系统。Erlang的25.0版本是该语言的一个更新,针对Windows操作系统进行了优化...
Erlang/OTP 26.2.1,Erlang,OTP,26.2.1
这个“erlang资源”包含两本PDF书籍——《Erlang并发编程》和《Erlang入门手册》,它们是深入理解和学习Erlang语言的关键资料。 《Erlang并发编程》这本书可能涵盖了以下知识点: 1. **并发模型**:Erlang的并发...
erlang安装包
Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson为了实现分布式实时、高可靠性系统而开发。Erlang以其强大的并行处理能力、容错性和易于构建大规模分布式系统的特点,在电信、金融和互联网等...
Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson于1986年开发,主要用于构建高可用性、分布式系统。Erlang的设计目标是支持大量并发连接,容错性强,易于编写实时系统。Erlang采用actor模型...
Erlang是一种高级编程语言,特别适用于并发、分布式和实时计算系统。它的设计目标是创建一个高可用性、容错性强、低延迟的系统。Erlang9指的是Erlang/OTP(Open Telephony Platform)的第9个主要版本。OTP是Erlang...
Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在IT行业中,Erlang因其强大的实时性和处理大量并发连接的能力而被广泛应用于电信、互联网基础设施和实时系统。RabbitMQ...
Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在IT行业中,Erlang因其强大的实时性、并发性和内存管理机制而被广泛应用于网络通信、数据库系统以及消息中间件,如...
erlang otp25 win安装包
Erlang B和Erlang C是电信领域中两种重要的流量模型,用于预测和分析通信系统中的呼叫处理能力和拥塞情况。这两个模型由丹麦工程师Agner Krarup Erlang在20世纪初提出,至今仍广泛应用于现代通信网络的设计与优化。 ...
3. 验证安装:安装完成后,可以在命令行输入"erl"来启动Erlang shell,如果出现Erlang的欢迎信息,说明安装成功。 Erlang与RabbitMQ的关系:RabbitMQ是一个开源的消息代理和队列服务器,广泛用于处理异步任务和实现...
最后,通过命令行输入`erl`命令,如果返回相关信息,表明Erlang已成功安装。 总之,Erlang以其独特的并发模型、分布特性和容错能力,成为构建高可用性和高并发系统的理想选择。对于那些需要处理大量并发连接和需要...
Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson开发,用于构建高可用性、分布式和实时系统。OTP(Open Telecom Platform)是与Erlang一起使用的框架和库,旨在简化并发应用程序的设计和维护...
Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在“erlang programming”这个主题下,我们可以深入探讨以下几个关键知识点: 1. **Erlang语言基础**:Erlang是瑞典...
3. **容错性**:Erlang的错误处理机制鼓励“失败即恢复”(fail-stop)策略,当一个进程出错时,它会立即停止,不会影响其他进程,提高了整个系统的稳定性。 4. **热代码升级**:Erlang程序可以在运行时替换或添加...