gpt4 book ai didi

haskell - 确保处理所有异常

转载 作者:行者123 更新时间:2023-12-02 14:32:18 25 4
gpt4 key购买 nike

源自 this question ,有什么方法可以确保我处理所有可能抛出的异常吗?类似于来自编译器的模式匹配详尽性警告,但针对异常(exception)情况。我认为这是有道理的......

最佳答案

您可以通过 SomeException 捕获所有异常,但这通常是一个坏主意,因为您最终还会捕获 thrown to the thread 的异步异常。从外部。

在 Haskell 中,经常使用 asynchronous exceptions要触发其他线程的线程取消,signal out of memory errors ,等等。并且很少需要捕获异步异常;它们与线程运行的实际逻辑很大程度上无关。但您仍然可以使用 bracketfinally 等函数,以便正确释放被杀死的线程所持有的资源。

有像safe-exceptions这样的包和 unliftio这有助于避免错误地捕获异步异常,同时仍然提供类似 catchAny 的功能捕获其他类型的异常。

关于haskell - 确保处理所有异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52997821/

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