System.Exit
| Авторские права | (c) Университет Глазго 2001 |
|---|---|
| Лицензия | BSD-стиль (см. файл libraries/base/LICENSE) |
| Автор | libraries@haskell.org |
| Устойчивость | предварительная |
| Переносимость | переносимая |
| Safe Haskell | Надежный |
| Язык | Haskell2010 |
Описание
Завершение программы.
Определяет коды завершения, которые может возвращать программа.
Конструкторы
| ExitSuccess | указывает на успешное завершение; |
| ExitFailure Int | указывает на неудачное завершение программы с кодом выхода. Точное толкование кода зависит от операционной системы. В частности, некоторые значения могут быть запрещены (например, 0 в системе, совместимой с POSIX). |
Примеры
| Eq ExitCode | |
| Ord ExitCode | |
Определено в GHC.IO.Exception | |
| Read ExitCode | |
| Show ExitCode | |
| Generic ExitCode | |
| Exception ExitCode | Since: base-4.1.0.0 |
Определено в GHC.IO.Exception МетодыtoException :: ExitCode -> SomeException Источник | |
| type Rep ExitCode | |
Определено в GHC.IO.Exception type Rep ExitCode = D1 ('MetaData "ExitCode" "GHC.IO.Exception" "base" 'False) (C1 ('MetaCons "ExitSuccess" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExitFailure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) |
exitWith :: ExitCode -> IO a Источник
Вычисление exitWith code вызывает ExitCode code. Обычно это приводит к завершению программы, возвращая code вызывающей программе.
При завершении программы стандартные Handle stdout и stderr автоматически очищаются; любые другие буферизованные Handle необходимо очищать вручную, в противном случае буферизованные данные будут удалены.
Программа, которая завершается другим способом, обрабатывается так, как если бы она вызвала exitFailure. Программа, которая завершается успешно, не вызывая exitWith явно, обрабатывается как если бы она вызвала exitWith ExitSuccess.
Поскольку ExitCode не является IOError, exitWith минует обработку ошибок в монаде IO и не может быть перехвачена catch из Prelude. Однако это SomeException, и может быть перехвачено с помощью функций из Control.Exception. Это означает, что вспомогательные вычисления, добавленные с помощью bracket (из Control.Exception), также будут правильно выполнены при exitWith.
Примечание: в GHC exitWith необходимо вызывать из основного потока программы, чтобы выйти из процесса. При вызове из другого потока exitWith выбросит исключение ExitException как обычно, но исключение не приведет к выходу самого процесса.
exitFailure :: IO a Источник
Вычисление exitFailure эквивалентно exitWith (ExitFailure exitfail), где exitfail зависит от реализации.
exitSuccess :: IO a Источник
Вычисление exitSuccess эквивалентно exitWith ExitSuccess, Оно завершает программу успешно.
die :: String -> IO a Источник
Записать указанное сообщение об ошибке в stderr и завершить с exitFailure.
С версии: base-4.8.0.0
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/base-4.14.1.0/System-Exit.html