我想捕捉異常,因爲與行動([1,2] !! 3)。我不能。Haskell。非IO異常處理
我試圖
let a = [1,2]
handle (\(e :: SomeException) -> print "err" >> return 1) (return $ a !! 3)
Control.Exception.catch (return $ a !! 3) (\(e::SomeException) -> print "err" >> return 1)
兩個我得到例外:前奏曲(!!):指數太大 *
這可能嗎?可能我會用Maybe方法。
感謝您的幫助。
「評估'return'還必須評估列表索引「 - 這是考慮嚴格性的好語言。 +1 – luqui 2011-03-17 23:22:45
有時我會忘記哈斯克爾的懶惰 – Anton 2011-03-18 05:22:52