erlang 关于异常
来源:互联网 发布:北斗神拳 崇明 岛 知乎 编辑:程序博客网 时间:2024/06/04 00:35
(1)erlang的三个异常原语:
exit(why)
throw(why)
erlang:error(why)
三个原语的运行结果:
(2)try catch 捕获异常
test()->[catcher(I)||I<-[1,2,3,4,5]].generate_exception(1)->a;generate_exception(2)->{'EXIT',test};generate_exception(3)->throw(test);generate_exception(4)->exit(test);generate_exception(5)->erlang:error(test).catcher(N)->try generate_exception(N) ofVal->{N,normal,Val}catchthrow:X->{N,caught,throw,X};exit:X->{N,exit,throw,X};error:X->{N,error,throw,X}end.
运行test()函数结果
分析:
try -catch中的
throw:X->{N,caught,throw,X};exit:X->{N,exit,throw,X};error:X->{N,error,throw,X}throw:X,exit:X,error:X表示当捕获到这三个异常原语是,exit(why),throw(why),erlang:error(why)执行其函数{N,caught,throw,X},{N,caught,exit,X},{N,caught,error,X}如果没有捕获到这三个异常原语,则执行Val->{N,normal,Val}
如果没有捕获异常,则在遇到三个异常原语时,会自动退出进程
- erlang 关于异常
- erlang 异常
- 关于Erlang
- erlang进程异常
- ERLANG 异常处理机制
- Erlang异常处理
- 说说Erlang的异常处理
- Erlang异常处理实例demo
- Erlang:关于Record
- 关于erlang的binary
- 关于erlang热更新
- 关于Erlang的binary
- 关于erlang的binary
- 关于erlang的编译
- 关于erlang的binary
- Erlang:关于Record record_info
- 【erlang 002】erlang中的错误及异常处理
- 关于erlang的进程池
- C#/.NET主线程与子线程之间的关系
- 第三届蓝桥杯Java高职组决赛第四题
- ruby哈希表
- epoll
- Java之枚举(Enum)
- erlang 关于异常
- 2013年7月最新Windows市场份额
- C# Socket编程
- uva 12167 - Proving Equivalences(强连通缩点,4级)
- linux如何切换到root用户
- stm32f407 discovery ISP
- 【学习】C++(3) std list
- java 第八次实验线程问题 未交上
- Java 7新方法probeContentType的C#实现方式