私はerediserlangクライアントを使用していますが、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 host:port、たとえばlocalhost:6379が与えられた場合、次のようになります。
mymodule:foo('localhost', 6379).
私は答えを得る必要があります
{"done"}
たとえば、私が行う場合:
mymodule:foo('loc', 6379).
私は得る必要があります:
{error, "failed"}
しかし、後者の場合、私が得るものは次のとおりです。
** exception exit: {connection_error,{connection_error,nxdomain}}
誰かが私がここで間違っていることを親切に説明できますか?
ありがとう