У меня есть основная функция, которая выполняет много операций ввода-вывода. Однако в какой-то момент я хочу проверить такую переменную, как not (null shouldBeNull)
, выйти из всей программы без продолжения с кодом выхода 1 linux и вывести сообщение об ошибке.
Я пробовал поиграть с ошибкой "..."
, например, поместив это в if
:
if (not (null shouldBeNull)) error "что-то плохое произошло "else putStrLn" ok "
, но я получаю ошибку синтаксического анализа (возможно, неправильный отступ)
:(.
Вот измененный фрагмент.
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."
Как вы могли заметить, я хочу сделать чек, куда я положил [ПРОВЕРИТЬ ЗДЕСЬ]
комментарий выше ...
Спасибо за вашу помощь!