【发布时间】:2016-07-02 09:07:36
【问题描述】:
因此,我和一些朋友围绕 Elixir 文档的 page 中的一段进行了对话。
在 Elixir 中,一个值可以被抛出然后被捕获。扔和接 保留用于无法检索 值,除非使用 throw 和 catch。
这些情况在实践中并不常见,除非 与不提供适当 API 的库交互。
哪些情况需要使用try/throw/catch 和try/rescue?这是为了与一些现有的 Erlang 库交互吗?页面上的示例显示了 Elixir 代码,我觉得这有点令人困惑。
我应该寻找什么“合适的 API”?我的意思是这会是一个协议吗?
【问题讨论】:
-
Dave Thomas 的书给出了几个例子:数据库出现故障或名称服务器无法响应,或无法打开名称固定的配置文件。
-
为什么这些情况需要捕获而不是救援?这就是我要问的——那里有什么区别?
-
我应该进一步研究一下。看起来这个问题不久前在 Elixir 核心列表中被问及并得到了回答:groups.google.com/d/topic/elixir-lang-core/0eG2BqKfC_U/…
标签: elixir