У меня есть основная функция, которая выполняет много операций ввода-вывода.В какой-то момент, однако, я хочу проверить переменную, такую как not (null shouldBeNull)
, выйти из всей программы без продолжения с кодом выхода linux 1 и вывести сообщение об ошибке.
Я пытался поиграться с error "..."
, как положить это в if
:
if (not (null shouldBeNull)) error "something bad happened" else putStrLn "ok"
, но я получаю parse error (possibly incorrect indentation)
:(.
Вот измененный фрагмент.
main :: IO ExitCode
main = do
--Get the file name using program argument
args <- getArgs
file <- readFile (args !! 0)
putStrLn("\n")
-- ... (some other io)
-- [DO A CHECK HERE], exit according to check..
-- ... (even more io)
echotry <- system "echo success"
rmtry <- system "rm -f test.txt"
system "echo done."
Как вы можете заметить, я хочу проверить, куда я поместил [DO A CHECK HERE]
комментарий выше ...
Спасибо за вашу помощь!