gpt4 book ai didi

haskell - 如何捕获httpLbs(http-client)抛出的异常

转载 作者:行者123 更新时间:2023-12-02 17:49:28 24 4
gpt4 key购买 nike

我有一个使用 http-client https://www.stackage.org/haddock/lts-9.0/http-client-0.5.7.0/Network-HTTP-Client.html#v:httpLbs 的 yesod 应用程序。我正在打电话

resp <- httpLbs req man

处理程序(响应 BSL.ByteString) monad 内。

我得到了这个(在应用程序的日志中)

6/Aug/2017:15:14:17 +0200 [Error#yesod-core] HttpExceptionRequest Request { ...

(下一行代码永远不会被执行)

相反,我想捕获异常,并在我的代码中处理它。怎么办?

最佳答案

我建议使用 safe-exceptions 中的 tryAny 函数图书馆。粗略地说,这看起来像:

eres <- tryAny $ httpLbs req man
case eres of
Left e -> handleException e
Right lbs -> handleBody lbs

使用安全异常将帮助您避免一些可能会遇到异步异常和 monad 转换器的极端情况。

关于haskell - 如何捕获httpLbs(http-client)抛出的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45715208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com