中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
屏东市| 江油市| 文水县| 扎赉特旗| 伊春市| 东丰县| 南华县| 临湘市| 黑龙江省| 太原市| 松滋市| 江西省| 米林县| 湟源县| 德清县| 碌曲县| 秦皇岛市| 荣成市| 鄂托克前旗| 鄄城县| 大新县| 梅州市| 萨嘎县| 额尔古纳市| 平阳县| 长垣县| 金湖县| 田阳县| 忻城县| 邢台市| 从江县| 张北县| 洮南市| 会理县| 新龙县| 济源市| 高碑店市| 亚东县| 法库县| 黑河市| 河西区|