System.Exit
| Авторские права | (c) Университет Глазго 2001 |
|---|---|
| Лицензия | BSD-стиль (см. файл libraries/base/LICENSE) |
| Поддержка | libraries@haskell.org |
| Стабильность | предварительная |
| Переносимость | переносимая |
| Безопасный Haskell | Безопасный |
| Язык | Haskell2010 |
Описание
Завершение программы.
Определяет коды завершения, которые может возвращать программа.
Конструкторы
| ExitSuccess | указывает на успешное завершение; |
| ExitFailure Int | указывает на неудачное завершение программы с кодом завершения. Точное толкование кода зависит от операционной системы. В частности, некоторые значения могут быть запрещены (например, 0 в POSIX-совместимой системе). |
Примеры
Определено в GHC.Internal.IO.Exception Методы(==) :: ExitCode -> ExitCode -> Bool Исходный код (/=) :: ExitCode -> ExitCode -> Bool Исходный код | |
| Ord ExitCode Исходный код | |
Определено в GHC.Internal.IO.Exception Методыcompare :: ExitCode -> ExitCode -> Ordering Исходный код (<) :: ExitCode -> ExitCode -> Bool Исходный код (<=) :: ExitCode -> ExitCode -> Bool Исходный код (>) :: ExitCode -> ExitCode -> Bool Исходный код (>=) :: ExitCode -> ExitCode -> Bool Исходный код max :: ExitCode -> ExitCode -> ExitCode Исходный код min :: ExitCode -> ExitCode -> ExitCode Исходный код | |
| type Rep ExitCode Исходный код | |
Определено в GHC.Internal.IO.Exception type Rep ExitCode = D1 ('MetaData "ExitCode" "GHC.Internal.IO.Exception" "ghc-internal" '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 является Exception, ее можно перехватить с помощью функций из Control.Exception. Это означает, что очищающие вычисления, добавленные с помощью bracket (из Control.Exception), также будут корректно выполнены при exitWith.
Примечание: в GHC, exitWith необходимо вызывать из основного потока программы для выхода из процесса. При вызове из другого потока, exitWith вызовет исключение ExitCode как обычно, но исключение не приведет к выходу самого процесса.
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/9.12.1/docs/libraries/base-4.21.0.0-8e62/System-Exit.html