2017-03-05 6 views
1

私はあなたに偉大なこだわりはHaskellを学ぶ読んでいますが、私はスコープにないのエラーに直面していました:`キャッチ」私は、入力&出力章の例外セクションを読んだときない: `キャッチ「

ここにあります私のコード:

Not in scope: `catch' 
+4

注:あなたは、常にそのhttp://hoogle.haskell.org/?hoogle=catch – epsilonhalbe

+2

'Prelude'にあったこのおそらく生じた理由は' catch'のようなものを検索するためにhoogle使用することができます。 – Michael

答えて

12

catchControl.Exceptionモジュールによってエクスポートされます。

import System.Environment 
import System.IO 
import System.IO.Error 

main = toTry `catch` handler 

toTry :: IO() 
toTry = do (fileName:_) <- getArgs 
      contents <- readFile fileName 
      putStrLn $ "The file has " ++ show (length (lines contents)) ++ " lines!" 

handler :: IOError -> IO() 
handler e = putStrLn "Whoops, had some trouble!" 

と私は、このエラーメッセージが表示されます。

import Control.Exception 
関連する問題