当我从 learnyousomeerlang.com 阅读一篇文章时,我有一个问题。 http://learnyousomeerlang.com/errors-and-processes
它说:
异常来源:
exit(self(), kill)
未捕获的结果:
** exception exit: killed
被困结果:
** exception exit: killed
哎呀,看那个。看来这一个实际上是不可能被困住的。让我们检查一下。
但它不符合我用代码测试的内容:
-module(trapexit).
-compile(export_all).
self_kill_exit()->
process_flag(trap_exit,true),
Pid=spawn_link(fun()->timer:sleep(3000),exit(self(),kill) end),
receive
{_A,Pid,_B}->io:format("subinmain:~p output:~p~n",[Pid,{_A,Pid,_B}])
end.
输出为:**4> trapexit:self_kill_exit()。
subinmain:<0.36.0> 输出:{'EXIT',<0.36.0>,killed}**
并且不符合 Trapped Result: ** exception exit: kill 之前所说的。哪个是对的???