如何在erlang中格式化throw语句

时间:2015-03-01 17:42:10

标签: erlang

我是Erlang语法的新手并且正在努力解决这个问题

我可以这样做并编译

  throw(Reason)

类型为throw/1

我希望能够做到这一点:

%% I have seen this code in sample examples.
?THROW("Couldn't start process: ~p. ~n", [Reason])

我认为没有throw/2.

然后我如何定义上面的

1 个答案:

答案 0 :(得分:2)

?THROW是一个宏。它应该在某处定义为:

-define(THROW(Format,Params),throw(io_lib:format(Format,Params))).

在此定义中,对io_lib:format(Format,Params)的调用返回单个字符串,该字符串由函数throw用作Reason。