Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Exception Haskell:从Data.Binary.Get捕获异常_Exception_Haskell - Fatal编程技术网

Exception Haskell:从Data.Binary.Get捕获异常

Exception Haskell:从Data.Binary.Get捕获异常,exception,haskell,Exception,Haskell,我有以下代码: import Data.Binary.Get import qualified Data.ByteString.Lazy as L import qualified Control.Exception as E main = do let dat = L.pack [1,2,3,4] E.catch (E.evaluate $ runGet getWord32be dat) (\_ -> return 0) (return 1) putStrLn

我有以下代码:

import Data.Binary.Get
import qualified Data.ByteString.Lazy as L
import qualified Control.Exception as E

main = do
    let dat = L.pack [1,2,3,4]
    E.catch (E.evaluate $ runGet getWord32be dat) (\_ -> return 0) (return 1)
    putStrLn "Done"
我得到以下错误:

Couldn't match expected type `m1 t -> m a'
       against inferred type `IO GHC.Word.Word32'
In a stmt of a 'do' expression:
    E.catch
      (E.evaluate $ runGet getWord32be dat) (\ _ -> return 0) (return 1)

但我不知道错配是什么。有人能开导吗?

Catch只需要两个参数。你给了它三个参数。

Catch只接受两个参数。你给它三个