gpt4 book ai didi

haskell - 导管异常

转载 作者:行者123 更新时间:2023-12-04 16:10:29 24 4
gpt4 key购买 nike

我不知道如何让 sourceDirectorycatchC 工作。

src = (sourceDirectory "/does/not/exist/input.txt" $$ C.print) `catchC` \e ->
yield (pack $ "Could not read input file: " ++ show (e :: IOException))

我的想法是我使用 sourceDirectory 遍历目录树,如果失败我希望程序继续而不是停止。

最佳答案

catchC 函数适用于管道的各个组件,例如 sourceDirectory "somedir"(换句话说,ConduitM 类型的东西) .您已将其应用于完全运行 管道,这只是正常操作,因此 catchC 将不起作用。您的选择是:

  • catchC 应用于单个组件,例如(sourceDirectory "foo"`catchC` 处理程序) $$ printC
  • 使用非管道特定的 catch 函数(例如来自 safe-exceptions ),例如(sourceDirectory "foo"$$ printC) `catch` 处理程序

另外,对 future 的建议:当某些代码无法构建时,包含编译器错误是个好主意。

关于haskell - 导管异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43035185/

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