我有一个生成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
答案 0 :(得分:0)
您可能想强制评估返回的字符串,以便在开始写入文件之前确保完成编码功能。 Mabye你可以在打印之前检查它的长度。