haskell - 不在范围 : `catch' 内

标签 haskell scope

我正在阅读“向你学习 Haskell”,但当我阅读输入和输出章节中的异常部分时,我遇到了“不在范围内:‘catch’”的错误

这是我的代码:

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!"  

我收到此错误消息:

Not in scope: `catch'

最佳答案

catchControl.Exception 模块导出。

import Control.Exception

关于haskell - 不在范围 : `catch' 内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42609508/

相关文章:

c# - 在同一函数中使用 streamreader 和 streamwriter 时的范围问题

javascript - Datapower 中 Javascript 的范围 (GatewayScript)

haskell - 按类型指定函数参数

haskell - `forM_` 是惯用的 Haskell 吗?

Haskell:模式匹配类型注释中需要ScopedTypeVariables

递归函数中的javascript范围问题

C++:使用托管内存公开指向类的指针

javascript - 变量作用域和 Var

haskell - 如何使用 Haskell 中的时间库创建 UTCTime 值?

haskell - 在实例上下文中需要泛型实例(对于更高级的类型构造函数)