Alors que Elixir nous encourage à ne pas utiliser de blocs try/catch il y a des moments où ils sont nécessaires. Dans une application que j'ai écrite, j'ai le try/catch suivant qui fonctionne.Elixir: essayer d'attraper les signaux de sortie
try do
message = GenServer.call(via, :get_messages)
{:ok, message}
catch
:exit, _ -> {:error, "Process uuid no longer exists"}
end
Dans la section de capture j'ai changé :exit, -
à {:exit, _}
pensant qu'ils étaient la même chose et qui a donné lieu à briser le code.
Ma question est ce qui est :exit, _
Il ne seam pas être un tuple, liste, etc. Même quand je _
il ne correspond pas. Est-ce que attraper une macro qui attend des paramètres?
Pertinent: Ma réponse sur les 3 types d'exceptions dans Erlang: https://stackoverflow.com/a/45973542/320615 – Dogbert