2007-12-17から1日間の記事一覧

do内のletがパターンマッチに失敗した例外をキャッチする方法?(2)

Gusさん、コメントありがとうございます。まだあまり整理がついていないのだけど、コメントを見る限りでは、let式のパターンマッチが遅延しているために、tryの外に出てから例外が投げられてしまうためにキャッチできていないように見える。前者の例はdo式の…

do内のletがパターンマッチに失敗した例外をキャッチする方法?

こんなコードではまってた。 import Control.Exception main = try doIO >>= print doIO = do [x] <- return $ [1, 2] return x -- Left user error (Pattern match failure in do expression at c:/home/tmp/hoge.hs:3:10-12) import Control.Exception mai…