gpt4 book ai didi

haskell - 如何在Haskell中捕获错误并忽略它?

转载 作者:行者123 更新时间:2023-12-03 08:10:26 24 4
gpt4 key购买 nike

我有一个接受整数的函数,检查它是否等于 1 ,如果是,则返回 1 ,否则返回错误“SomeError”

func i = if i == 1 then 1  else error "SomeError"

现在我有另一个函数调用此函数并检查其结果
check = let z = (func 2) in 
case (Just z) of
Nothing -> do Something
_ -> do Something else

我为 z = (func 1)中的z都尝试了 z = (func 2)case (Just z) of它去做其他事情,所以我在这里理解的是错误不是 没有

那么什么是 错误“SomeError” ?我怎么知道 (Just z)是使用 case (Just z) of的错误

最佳答案

尽量避免错误。将func更改为

func :: Int -> Maybe Int
func 1 = Just 1
func _ = Nothing

那么您可以按照自己的方式(或类似地,无论如何)编写 check:
check = case func 2 of
Just z -> ... -- z matches whatever is wrapped by Just
Nothing -> ...

关于haskell - 如何在Haskell中捕获错误并忽略它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53807621/

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