Spec-Zone.ru › Haskell 7

System.Exit

Авторские права (c) Университет Глазго 2001
Лицензия BSD-стиль (см. файл libraries/base/LICENSE)
Поддержка libraries@haskell.org
Стабильность предварительная
Переносимость переносимая
Безопасный Haskell Достоверный
Язык Haskell2010

Описание

Завершение программы.

data КодВыхода Исходный код

Определяет коды выхода, которые может возвращать программа.

Конструкторы

УспешныйВыход

указывает на успешное завершение;

НеудачныйВыход Целое

указывает на неудачу программы с кодом выхода. Точное толкование кода зависит от операционной системы. В частности, некоторые значения могут быть запрещены (например, 0 в POSIX-совместимой системе).

Реализации

Eq КодВыхода
Ord КодВыхода
Read КодВыхода
Show КодВыхода
Исключение КодВыхода

exitWith :: КодВыхода -> 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 как обычно, но исключение не приведет к завершению самого процесса.

НеудачныйВыход :: IO a Исходный код

Вычисление exitFailure эквивалентно exitWith (ExitFailure exitfail), где exitfail зависит от реализации.

УспешныйВыход :: IO a Исходный код

Вычисление exitSuccess эквивалентно exitWith ExitSuccess, оно успешно завершает программу.

die :: Строка -> IO a Исходный код

Записывает данное сообщение об ошибке в stderr и завершает с exitFailure.

С версии: 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/7.10.3/docs/html/libraries/base-4.8.2.0/System-Exit.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API