Haskell:在错误

时间:2016-09-17 01:25:01

标签: haskell error-handling io

我有一个生成JSON的程序并将其打印到文件中。生成JSON的函数可能在代码生成的中途失败。

在JSON生成失败的那一刻,到那时为止生成的代码仍会被写入文件,从而给我一个不完整/不正确的输出文件。

我试图找出如何防止写入错误输出。类似的东西:

main = do
  let
     output          =  encodingfunction
     print' (Just x) =  writeFile "outputfile" output
     print' _        =  putStrLn "Encoding Failed Miserably"
  print' ouput
  return ()

encodingfunction :: Maybe String

1 个答案:

答案 0 :(得分:0)

您可能想强制评估返回的字符串,以便在开始写入文件之前确保完成编码功能。 Mabye你可以在打印之前检查它的长度。