Am Freitag, 22. April 2005 16:40 schrieb Alexandre Weffort Thenorio: > I am trying to get catch to work but I guess I am total newbie on this one. > > main :: IO() > main = do > removeFile "./newint.hex" > hexFile <- catch (readFile int.hex) (\_ -> do putStrLn "Cannot find > int.hex" > getLine --Simply stop program so user can read error message > return() --Quit) since 'readFile int.hex' -- shouldn't that be 'readFile "int.hex"' ? -- is IO String, the catch-branch must return a String, too.
> hexFile <- readFile "int.hex" > --res of program goes here > getLine > return() > I suggest main = do removeFile "./newint.hex" catch (do hexFile <- readFile "int.hex" whatever you want to do now) (putStrLn "doesn't exist") I think that'll work, Daniel > > But it keeps giving me error on getLine. How can I quit a program in case > of an error giving an error message? > > Also I tried something like > > main :: IO() > main = do > ex <- doesFileExist "./newint.hex" > if ex then removeFile "./newint.hex" > > But that won't work either. Any ideas? I'd like to catch different errors > and quit program giving different error messages > > Last but not least I have the function > > outputLine keyno key orgFile = do > let part1 = getLeft keyno (orgFile!!1) > let part2 = getRight keyno (orgFile!!1) > let total = part1 ++ (map toUpper key) ++ part2 > let checks = checksum (drop 1 total) > let final = total ++ checks ++ "\n" > newHexFile <- openFile "newint.hex" WriteMode > hPutStrLn newHexFile (orgFile!!0 ++ "\n" ++ final ++ unlines (drop 2 > orgFile)) > > I'd like to be able to check for stuff such as size of key and wheter keyno > is only 1 or 0 and quit program with error message otherwise but again > couldn't quite get catch to work. > > Any reading tips about subject would be appreciated. > > Best Regards > > NooK > > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe