亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

Haskell怎么處理錯誤和異常

小億
94
2024-04-16 15:52:11
欄目: 編程語言

在Haskell中處理錯誤和異常通常使用EitherMaybe類型來表示可能的錯誤情況,并使用catch函數來捕獲異常。

  1. 使用Either類型處理錯誤:
-- 定義一個可能返回錯誤的函數
divide :: Int -> Int -> Either String Int
divide _ 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
  1. 使用Maybe類型處理錯誤:
-- 定義一個可能返回錯誤的函數
divide :: Int -> Int -> Maybe Int
divide _ 0 = Nothing
divide x y = Just (x `div` y)

-- 調用函數并處理錯誤
case divide 10 2 of
  Nothing -> putStrLn "Division by zero"
  Just result -> print result
  1. 使用catch函數捕獲異常:
import Control.Exception

-- 定義一個可能引發異常的函數
divide :: Int -> Int -> Int
divide 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中處理錯誤和異常的一些常見方法,開發者可以根據具體情況選擇合適的方式來處理錯誤和異常。

0
资阳市| 五寨县| 绥化市| 天台县| 西宁市| 漳浦县| 淳安县| 名山县| 新建县| 山阴县| 简阳市| 汶上县| 湘西| 济源市| 油尖旺区| 花莲县| 高州市| 久治县| 连城县| 麦盖提县| 莆田市| SHOW| 即墨市| 胶州市| 宁化县| 上栗县| 奈曼旗| 陵水| 安平县| 黄骅市| 新乡县| 南召县| 建水县| 博爱县| 页游| 泗洪县| 绥芬河市| 西宁市| 开化县| 旬邑县| 绥棱县|