0
我正在使用eredis erlang客戶端,我是Erlang的新手。我想知道什麼可能是錯誤有以下功能:Erlang中的異常處理
foo(Host, Port) ->
case catch eredis:start_link(Host, Port) of
{connection_error, {connection_error, _}} -> {error, "failed"};
{ok, Connection} -> {"done"};
_ -> {error, "Unknown"}
end.
我的理解是,鑑於上述功能和有效的Redis主機:端口例如本地主機:6379那麼,如果我做的:
mymodule:foo('localhost', 6379).
我應該得到的答案
{"done"}
而例如如果我做的:
mymodule:foo('loc', 6379).
我應該得到:
{error, "failed"}
但在後一種情況下,我得到的是:
** exception exit: {connection_error,{connection_error,nxdomain}}
難道有人會好心解釋我在這裏做錯了什麼?
感謝