Haskell怎么处理错误和异常

   2024-10-22 3570
核心提示:在Haskell中处理错误和异常通常使用Either或Maybe类型来表示可能的错误情况,并使用catch函数来捕获异常。使用Either类型处理错

在Haskell中处理错误和异常通常使用EitherMaybe类型来表示可能的错误情况,并使用catch函数来捕获异常。

使用Either类型处理错误:
-- 定义一个可能返回错误的函数divide :: Int -> Int -> Either String Intdivide _ 0 = Left "Division by zero"divide x y = Right (x `div` y)-- 调用函数并处理错误case divide 10 2 of  Left err -> putStrLn err  Right result -> print result
使用Maybe类型处理错误:
-- 定义一个可能返回错误的函数divide :: Int -> Int -> Maybe Intdivide _ 0 = Nothingdivide x y = Just (x `div` y)-- 调用函数并处理错误case divide 10 2 of  Nothing -> putStrLn "Division by zero"  Just result -> print result
使用catch函数捕获异常:
import Control.Exception-- 定义一个可能引发异常的函数divide :: Int -> Int -> Intdivide x y = if y == 0 then error "Division by zero" else x `div` y-- 使用catch函数捕获异常main = catch (print (divide 10 2))             (\e -> putStrLn $ "Error: " ++ show (e :: SomeException))

以上是在Haskell中处理错误和异常的一些常见方法,开发者可以根据具体情况选择合适的方式来处理错误和异常。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号