1
假設你有以下功能:管道和錯誤處理
def get_city_temp(city_id) do
'blahblahcityforcastfortoday.com/request/#{city_id}'
|> HTTPoison.get
|> parse_body
|> get_forecast
|> get_temp
end
現在說GET
失敗,所以響應是:
{:ok, %HTTPoison.Response{status_code: 400, ...}}
但get_forecast
是期待一個良好成型體,和因此會錯誤地抱怨傳遞給它的結構或缺失的鍵等等。處理這種錯誤的最佳方法是什麼?在其他語言中,我只包含try
catch
s中的所有函數調用,並返回包含成功報告的元組。在這種情況下,我不確定如何構建我的代碼以最好地向用戶報告錯誤 。
非常好的解釋,謝謝 – category
唯一的問題是,'='應該替換成'<-',否則在匹配時會因爲問題而'上升'。除此之外,這是要走的路! –
@PawełDawczak修好了,謝謝! – Dogbert