Spec-Zone.ru › Haskell 9

GHC.IO.Exception

Авторские права (c) The University of Glasgow 2009
Лицензия см. libraries/base/LICENSE
Поддержка libraries@haskell.org
Стабильность внутренняя
Переносимость непереносимая
Безопасный Haskell Безопасный
Язык Haskell2010

Описание

Типы и функции исключений, связанные с IO

API этого модуля нестабилен и не предназначен для общего использования. Если вам абсолютно необходимо от него зависеть, используйте жёсткие верхние границы, например, base < 4.X, а не base < 5, так как интерфейс может быстро меняться без предварительного уведомления.

data Заблокированный_бесконечно_на_MVar Исходный код

Поток заблокирован на MVar, но нет других ссылок на MVar, поэтому он никогда не сможет продолжить работу.

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

Заблокированный_бесконечно_на_MVar
Примеры реализации
Подробности примеров реализации
Исключение Заблокированный_бесконечно_на_MVar Исходный код

С момента выпуска: base-4.1.0.0

Подробности реализации

Определено в GHC.Internal.IO.Exception

Методы

toException :: Заблокированный_бесконечно_на_MVar -> SomeException Исходный код

fromException :: SomeException -> Maybe Заблокированный_бесконечно_на_MVar Исходный код

displayException :: Заблокированный_бесконечно_на_MVar -> Строка Исходный код

backtraceDesired :: Заблокированный_бесконечно_на_MVar -> Булево Исходный код

Show Заблокированный_бесконечно_на_MVar Исходный код

С момента выпуска: base-4.1.0.0

Подробности реализации

Определено в GHC.Internal.IO.Exception

Методы

showsPrec :: Целое -> Заблокированный_бесконечно_на_MVar -> ShowS Исходный код

show :: Заблокированный_бесконечно_на_MVar -> Строка Исходный код

showList :: [Заблокированный_бесконечно_на_MVar] -> ShowS Исходный код

blockedIndefinitelyOnMVar :: SomeException Исходный код

data Заблокированный_бесконечно_на_STM Исходный код

Поток ожидает повторного выполнения транзакции STM, но нет других ссылок на любые TVars, участвующие в ней, поэтому он никогда не сможет продолжить работу.

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

Заблокированный_бесконечно_на_STM
Примеры использования
Подробности примеров
Исключение BlockedIndefinitelyOnSTM Исходный код

С версии: base-4.1.0.0

Подробности реализации

Определено в GHC.Internal.IO.Exception

Методы

toException :: BlockedIndefinitelyOnSTM -> SomeException Исходный код

fromException :: SomeException -> Maybe BlockedIndefinitelyOnSTM Исходный код

displayException :: BlockedIndefinitelyOnSTM -> Строка Исходный код

backtraceDesired :: BlockedIndefinitelyOnSTM -> Булево Исходный код

Вывод BlockedIndefinitelyOnSTM Исходный код

С версии: base-4.1.0.0

Подробности реализации

Определено в GHC.Internal.IO.Exception

Методы

showsPrec :: Целое число -> BlockedIndefinitelyOnSTM -> ShowS Исходный код

show :: BlockedIndefinitelyOnSTM -> Строка Исходный код

showList :: [BlockedIndefinitelyOnSTM] -> ShowS Исходный код

blockedIndefinitelyOnSTM :: SomeException Исходный код

data Тупик Исходный код

Потоков для выполнения нет, поэтому программа находится в тупике. Исключение Deadlock поднимается только в главном потоке.

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

Тупик
Примеры использования
Подробности примеров
Исключение Тупик Исходный код

С версии: base-4.1.0.0

Подробности реализации

Определено в GHC.Internal.IO.Exception

Методы

toException :: Тупик -> SomeException Исходный код

fromException :: SomeException -> Может быть Тупик Исходный код

displayException :: Тупик -> Строка Исходный код

backtraceDesired :: Тупик -> Булево Исходный код

Вывод Тупик Исходный код

С версии: base-4.1.0.0

Подробности реализации

Определено в GHC.Internal.IO.Exception

Методы

showsPrec :: Целое число -> Тупик -> ShowS Исходный код

show :: Тупик -> Строка Исходный код

showList :: [Тупик] -> ShowS Исходный код

data Превышение предела выделения памяти Исходный код

В данном потоке превышен лимит выделения памяти. См. setAllocationCounter и enableAllocationLimit.

С версии: base-4.8.0.0

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

Превышение предела выделения памяти
Примеры
Подробности примеров
Исключение Превышение лимита выделения памяти Исходный код

С момента: base-4.8.0.0

Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

toException :: Превышение лимита выделения памяти -> НекоторыеИсключения Исходный код

fromException :: НекоторыеИсключения -> МожетБыть Превышение лимита выделения памяти Исходный код

displayException :: Превышение лимита выделения памяти -> Строка Исходный код

backtraceDesired :: Превышение лимита выделения памяти -> Булево Исходный код

Show Превышение лимита выделения памяти Исходный код

С момента: base-4.7.1.0

Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

showsPrec :: Целое -> Превышение лимита выделения памяти -> ShowS Исходный код

show :: Превышение лимита выделения памяти -> Строка Исходный код

showList :: [Превышение лимита выделения памяти] -> ShowS Исходный код

allocationLimitExceeded :: НекоторыеИсключения Исходный код

newtype ОшибкаУтверждения Исходный код

assert было применено к False.

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

ОшибкаУтверждения Строка
Примеры
Подробности примеров
Исключение ОшибкаУтверждения Исходный код

С момента: base-4.1.0.0

Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

toException :: ОшибкаУтверждения -> НекоторыеИсключения Исходный код

fromException :: НекоторыеИсключения -> МожетБыть ОшибкаУтверждения Исходный код

displayException :: ОшибкаУтверждения -> Строка Исходный код

backtraceDesired :: ОшибкаУтверждения -> Булево Исходный код

Show ОшибкаУтверждения Исходный код

С момента: base-4.1.0.0

Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

showsPrec :: Целое -> ОшибкаУтверждения -> ShowS Исходный код

show :: ОшибкаУтверждения -> Строка Исходный код

showList :: [ОшибкаУтверждения] -> ShowS Исходный код

newtype ОшибкаУпаковки Исходный код

Упаковщик обнаружил объект, который нельзя упаковать. Функции, изменяемые объекты и закреплённые объекты не могут быть упакованы. См. compact.

С момента: base-4.10.0.0

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

ОшибкаУпаковки Строка
Примеры использования
Подробности примеров использования
Исключение CompactionFailed Исходный код

С момента: base-4.10.0.0

Подробности примера использования

Определено в GHC.Internal.IO.Exception

Методы

toException :: CompactionFailed -> SomeException Исходный код

fromException :: SomeException -> Возможно CompactionFailed Исходный код

displayException :: CompactionFailed -> Строка Исходный код

backtraceDesired :: CompactionFailed -> Булево Исходный код

Show CompactionFailed Исходный код

С момента: base-4.10.0.0

Подробности примера использования

Определено в GHC.Internal.IO.Exception

Методы

showsPrec :: Целое -> CompactionFailed -> ShowS Исходный код

show :: CompactionFailed -> Строка Исходный код

showList :: [CompactionFailed] -> ShowS Исходный код

cannotCompactFunction :: SomeException Исходный код

cannotCompactPinned :: SomeException Исходный код

cannotCompactMutable :: SomeException Исходный код

data SomeAsyncException Исходный код

Базовый класс для асинхронных исключений.

С момента: base-4.7.0.0

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

Исключение e => SomeAsyncException e
Примеры использования
Подробности примеров использования
Исключение SomeAsyncException Исходный код

С момента: base-4.7.0.0

Подробности примера использования

Определено в GHC.Internal.IO.Exception

Методы

toException :: SomeAsyncException -> SomeException Исходный код

fromException :: SomeException -> Возможно SomeAsyncException Исходный код

displayException :: SomeAsyncException -> Строка Исходный код

backtraceDesired :: SomeAsyncException -> Булево Исходный код

Show SomeAsyncException Исходный код

С момента: base-4.7.0.0

Подробности примера использования

Определено в GHC.Internal.IO.Exception

Методы

showsPrec :: Целое -> SomeAsyncException -> ShowS Исходный код

show :: SomeAsyncException -> Строка Исходный код

showList :: [SomeAsyncException] -> ShowS Исходный код

asyncExceptionToException :: Исключение e => e -> SomeException Исходный код

С момента: base-4.7.0.0

asyncExceptionFromException :: Exception e => SomeException -> Maybe e Source

Since: base-4.7.0.0

data AsyncException Source

Асинхронные исключения.

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

StackOverflow

Стек текущего потока превысил свой лимит. Поскольку исключение было возбуждено, стек потока, безусловно, снова будет ниже своего лимита, но программист должен немедленно принять меры.

HeapOverflow

Куча программы достигает своего предела, и программа должна принять меры, чтобы уменьшить количество активных данных. Примечания:

  • Не определено, какой поток получит это исключение. В настоящее время GHC выбрасывает его в тот же поток, что и UserInterrupt, но это может измениться в будущем.
  • В настоящее время GHC RTS может восстановиться только от переполнения кучи, если обнаружит, что был превышен явный лимит памяти (установленный через флаги RTS). В настоящее время невозможность выделения памяти из операционной системы приводит к немедленному завершению программы.
ThreadKilled

Это исключение возбуждается другим потоком, вызывающим killThread, или системой, если она должна завершить поток по какой-либо причине.

UserInterrupt

Это исключение по умолчанию возбуждается в основном потоке программы, когда пользователь запрашивает завершение программы с помощью обычных механизмов (например, Control-C в консоли).

Примеры реализации
Подробности примеров реализации
Исключение AsyncException Исходный код

С момента: base-4.7.0.0

Подробности реализации

Определено в GHC.Internal.IO.Exception

Методы

toException :: AsyncException -> SomeException Исходный код

fromException :: SomeException -> Может быть AsyncException Исходный код

displayException :: AsyncException -> Строка Исходный код

backtraceDesired :: AsyncException -> Булево Исходный код

Show AsyncException Исходный код

С момента: base-4.1.0.0

Подробности реализации

Определено в GHC.Internal.IO.Exception

Методы

showsPrec :: Целое -> AsyncException -> ShowS Исходный код

show :: AsyncException -> Строка Исходный код

showList :: [AsyncException] -> ShowS Исходный код

Eq AsyncException Исходный код

С момента: base-4.2.0.0

Подробности реализации

Определено в GHC.Internal.IO.Exception

Методы

(==) :: AsyncException -> AsyncException -> Булево Исходный код

(/=) :: AsyncException -> AsyncException -> Булево Исходный код

Ord AsyncException Исходный код

С момента: base-4.2.0.0

Подробности реализации

Определено в GHC.Internal.IO.Exception

Методы

compare :: AsyncException -> AsyncException -> Порядок Исходный код

(<) :: AsyncException -> AsyncException -> Булево Исходный код

(<=) :: AsyncException -> AsyncException -> Булево Исходный код

(>) :: AsyncException -> AsyncException -> Булево Исходный код

(>=) :: AsyncException -> AsyncException -> Булево Исходный код

max :: AsyncException -> AsyncException -> AsyncException Исходный код

min :: AsyncException -> AsyncException -> AsyncException Исходный код

stackOverflow :: SomeException Исходный код

heapOverflow :: SomeException Исходный код

data ИсключениеМассива Исходный код

Исключения, сгенерированные операциями с массивами

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

IndexOutOfBounds Строка

Попытка индексирования массива за пределами его границ.

UndefinedElement Строка

Попытка получить элемент массива, который не был инициализирован.

Примеры
Подробности примеров
Исключение ArrayException Исходный код

С момента: base-4.1.0.0

Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

toException :: ArrayException -> SomeException Исходный код

fromException :: SomeException -> Возможно ArrayException Исходный код

displayException :: ArrayException -> Строка Исходный код

backtraceDesired :: ArrayException -> Булево Исходный код

Show ArrayException Исходный код

С момента: base-4.1.0.0

Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

showsPrec :: Целое число -> ArrayException -> ShowS Исходный код

show :: ArrayException -> Строка Исходный код

showList :: [ArrayException] -> ShowS Исходный код

Eq ArrayException Исходный код

С момента: base-4.2.0.0

Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

(==) :: ArrayException -> ArrayException -> Булево Исходный код

(/=) :: ArrayException -> ArrayException -> Булево Исходный код

Ord ArrayException Исходный код

С момента: base-4.2.0.0

Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

compare :: ArrayException -> ArrayException -> Порядок Исходный код

(<) :: ArrayException -> ArrayException -> Булево Исходный код

(<=) :: ArrayException -> ArrayException -> Булево Исходный код

(>) :: ArrayException -> ArrayException -> Булево Исходный код

(>=) :: ArrayException -> ArrayException -> Булево Исходный код

max :: ArrayException -> ArrayException -> ArrayException Исходный код

min :: ArrayException -> ArrayException -> ArrayException Исходный код

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

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

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

ExitSuccess

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

ExitFailure Целое число

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

Примеры
Подробности примеров
Исключение ExitCode Исходный код

С момента: base-4.1.0.0

Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

toException :: ExitCode -> SomeException Исходный код

fromException :: SomeException -> Может быть ExitCode Исходный код

displayException :: ExitCode -> Строка Исходный код

backtraceDesired :: ExitCode -> Булево Исходный код

Общий ExitCode Исходный код
Подробности примера

Определено в GHC.Internal.IO.Exception

Связанные типы

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 :: Тип -> Тип) :+: C1 ('MetaCons "ExitFailure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Целое число)))

Методы

from :: ExitCode -> Rep ExitCode x Исходный код

to :: Rep ExitCode x -> ExitCode Исходный код

Чтение ExitCode Исходный код
Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

readsPrec :: Целое число -> ReadS ExitCode Исходный код

readList :: ReadS [ExitCode] Исходный код

readPrec :: ReadPrec ExitCode Исходный код

readListPrec :: ReadPrec [ExitCode] Исходный код

Отображение ExitCode Исходный код
Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

showsPrec :: Целое число -> ExitCode -> ShowS Исходный код

show :: ExitCode -> Строка Исходный код

showList :: [ExitCode] -> ShowS Исходный код

Eq ExitCode Исходный код
Подробности экземпляра

Определено в 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 Исходный код

тип Rep ExitCode Исходный код
Подробности экземпляра

Определено в GHC.Internal.IO.Exception

тип Rep ExitCode = D1 ('MetaData "ExitCode" "GHC.Internal.IO.Exception" "ghc-internal" 'False) (C1 ('MetaCons "ExitSuccess" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: C1 ('MetaCons "ExitFailure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Целое число)))

данные FixIOException Исходный код

Исключение, которое выбрасывается, когда в fixIO обнаружен бесконечный цикл.

С версии: base-4.11.0.0

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

FixIOException
Примеры реализации
Подробности примеров реализации
Исключение FixIOException Исходный код

С тех пор как: base-4.11.0.0

Подробности реализации

Определено в GHC.Internal.IO.Exception

Методы

toException :: FixIOException -> SomeException Исходный код

fromException :: SomeException -> Может быть FixIOException Исходный код

displayException :: FixIOException -> Строка Исходный код

backtraceDesired :: FixIOException -> Булево Исходный код

Вывод FixIOException Исходный код

С тех пор как: base-4.11.0.0

Подробности реализации

Определено в GHC.Internal.IO.Exception

Методы

showsPrec :: Целое -> FixIOException -> ShowS Исходный код

show :: FixIOException -> Строка Исходный код

showList :: [FixIOException] -> ShowS Исходный код

ioException :: HasCallStack => IOException -> IO a Исходный код

ioError :: HasCallStack => IOError -> IO a Исходный код

Вызвать IOError в IO монаде.

type IOError = IOException Исходный код

Тип исключений в IO монаде по спецификации Haskell 2010. Любая операция ввода-вывода может вызвать IOError вместо возврата результата. Для более общего типа исключений, включая те, которые возникают в чистом коде, см. Exception.

В Haskell 2010 это тип с неявным значением.

data IOException Исходный код

Исключения, возникающие в IO монаде. IOException записывает более конкретный тип ошибки, описательную строку и, возможно, дескриптор, который использовался при возникновении ошибки.

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

IOError

Поля

  • ioe_handle :: Может быть Дескриптор

    дескриптор, используемый действием, вызвавшим ошибку.

  • ioe_type :: IOErrorType

    тип ошибки.

  • ioe_location :: Строка

    местоположение.

  • ioe_description :: Строка

    информация о типе ошибки.

  • ioe_errno :: Может быть CInt

    значение errno, если ошибка связана с ним.

  • ioe_filename :: Может быть Путь к файлу

    имя файла, связанное с ошибкой (некоторые библиотеки могут предполагать различные кодировки при построении этого поля из, например, ByteString или других типов).

Примеры
Подробности примеров
Исключение IOException Исходный код

С момента: base-4.1.0.0

Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

toException :: IOException -> SomeException Исходный код

fromException :: SomeException -> Maybe IOException Исходный код

displayException :: IOException -> Строка Исходный код

backtraceDesired :: IOException -> Булево Исходный код

Show IOException Исходный код

С момента: base-4.1.0.0

Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

showsPrec :: Целое -> IOException -> ShowS Исходный код

show :: IOException -> Строка Исходный код

showList :: [IOException] -> ShowS Исходный код

Eq IOException Исходный код

С момента: base-4.1.0.0

Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

(==) :: IOException -> IOException -> Булево Исходный код

(/=) :: IOException -> IOException -> Булево Исходный код

data ТипОшибкиIO Исходный код

Абстрактный тип, содержащий значение для каждой разновидности IOError.

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

AlreadyExists
NoSuchThing
ResourceBusy
ResourceExhausted
EOF
IllegalOperation
PermissionDenied
UserError
UnsatisfiedConstraints
SystemError
ProtocolError
OtherError
InvalidArgument
InappropriateType
HardwareFault
UnsupportedOperation
TimeExpired
ResourceVanished
Interrupted
Примеры
Подробности примеров
Show IOErrorType Исходный код

С момента: base-4.1.0.0

Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

showsPrec :: Int -> IOErrorType -> ShowS Исходный код

show :: IOErrorType -> String Исходный код

showList :: [IOErrorType] -> ShowS Исходный код

Eq IOErrorType Исходный код

С момента: base-4.1.0.0

Подробности примера

Определено в GHC.Internal.IO.Exception

Методы

(==) :: IOErrorType -> IOErrorType -> Bool Исходный код

(/=) :: IOErrorType -> IOErrorType -> Bool Исходный код

userError :: String -> IOError Исходный код

Создаёт значение типа IOError со строковым описанием ошибки. Метод fail экземпляра IO класса Monad вызывает userError, таким образом:

instance Monad IO where
  ...
  fail s = ioError (userError s)

assertError :: (?callStack :: CallStack) => Bool -> a -> a Исходный код

unsupportedOperation :: IOError Исходный код

untangle :: Addr# -> String -> String Исходный код

© 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/GHC-IO-Exception.html

Spec-Zone.ru

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