joe armstrong并发编程erlang语言中的错误

joe armstrong并发编程erlang语言中的错误,erlang,Erlang,下面的代码是在我阅读JoeArmstrong的《ErlangProgramming Language》一书时发现的 所以请给我解释一下 on_exit(Pid, Fun) -> spawn(fun() -> process_flag(trap_exit, true), link(Pid), receive {'EXIT', Pid, Why} -> Fun(Why) end end). 本章的标题是并发编程

下面的代码是在我阅读JoeArmstrong的《ErlangProgramming Language》一书时发现的 所以请给我解释一下

on_exit(Pid, Fun) -> 
  spawn(fun() ->
    process_flag(trap_exit, true),
    link(Pid),
    receive
      {'EXIT', Pid, Why} ->
        Fun(Why)
    end
  end).

本章的标题是并发编程中的错误,并提及如何使用并发编程(即链接进程、监控程序、信号等)在Erlang中进行错误处理


代码没有问题。这是一个演示,通过链接一个新进程来监视第一个进程,并在第二个进程中捕获第一个进程的退出信号,可以处理由于某种原因退出的进程。

请缩进代码,并使用
{}
按钮格式化它。您阅读了书中的解释吗?您遇到了哪一部分?并发编程语言中的错误为什么您认为代码中包含错误?你收到错误信息了吗?代码是否编译但未按预期工作?没有错误这是一个主题名称