當我從learnyousomeerlang.com讀到一篇文章時,我有一個問題。 http://learnyousomeerlang.com/errors-and-processes我可以陷阱退出(self(),kill)嗎?
它說:
異常源:
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.
oupput是: ** 4> trapexit:self_kill_exit()。
subinmain:< 0.36.0>輸出:{ '退出',< 0.36.0>,殺死} **
,不與囚禁結果符合:**退出異常:殺害之前說。哪個是對的???