В моей программе на Haskell я хочу прочитать значение, указанное пользователем, используя getLine
функция. Затем я хочу использовать функцию read
, чтобы преобразовать это значение из строки в соответствующий тип Haskell. Как я могу поймать ошибки синтаксического анализа, вызванные функцией read
, и попросить пользователя повторно ввести значение?
Прав ли я, полагая, что это не «ошибка ввода-вывода». потому что это не ошибка, вызванная неправильной работой системы ввода-вывода? Это семантическая ошибка, поэтому я не могу использовать механизмы обработки ошибок ввода-вывода?