Spec-Zone.ru › Haskell 8

GHC.IO.Exception

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

Описание

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

data Заблокировано_бессрочно_на_MVar Источник

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

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

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

С версии: base-4.1.0.0

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

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

Методы

showsPrec :: Int -> Заблокировано_бессрочно_на_MVar -> ShowS Источник

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

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

Исключение Заблокировано_бессрочно_на_MVar

С версии: base-4.1.0.0

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

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

Методы

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

fromException :: SomeException -> Может Заблокировано_бессрочно_на_MVar Источник

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

blockedIndefinitelyOnMVar :: SomeException Источник

data Заблокировано_бессрочно_на_STM Источник

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

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

Заблокировано_бессрочно_на_STM
Примеры реализации
Подробности примеров реализации
Show Заблокировано_бессрочно_на_STM

С версии: base-4.1.0.0

blockedIndefinitelyOnSTM :: SomeException Источник

data Тупик Источник

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

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

Тупик
Примеры использования
Подробности примеров использования
Show Deadlock

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

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

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

Методы

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

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

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

Исключение Deadlock

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

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

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

Методы

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

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

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

тип AllocationLimitExceeded Исходный код

Этот поток превысил лимит выделения. См. setAllocationCounter и enableAllocationLimit.

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

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

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

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

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

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

Методы

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

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

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

Исключение AllocationLimitExceeded

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

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

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

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

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

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

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

новый тип AssertionFailed Исходный код

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

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

AssertionFailed Строка
Примеры использования
Подробности примеров
Show AssertionFailed

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

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

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

Методы

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

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

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

Исключение AssertionFailed

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

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

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

Методы

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

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

displayException :: AssertionFailed -> String Исходный код

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

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

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

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

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

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

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

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

Методы

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

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

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

Исключение CompactionFailed

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

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

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

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

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

displayException :: CompactionFailed -> String Исходный код

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

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

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

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

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

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

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

forall e.Исключение e => SomeAsyncException e
Примеры
Подробности примеров
Show SomeAsyncException

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

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

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

Методы

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

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

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

Исключение SomeAsyncException

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

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

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

Методы

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

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

displayException :: SomeAsyncException -> String Исходный код

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

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

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

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

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

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

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

StackOverflow

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

HeapOverflow

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

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

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

UserInterrupt

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

Примеры
Подробности примеров
Eq AsyncException

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

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

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

Методы

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

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

Ord AsyncException

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

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

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

Методы

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

(<) :: AsyncException -> AsyncException -> Bool Исходный код

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

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

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

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

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

Show AsyncException

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

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

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

Методы

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

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

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

Исключение AsyncException

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

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

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

Методы

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

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

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

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

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

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

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

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

IndexOutOfBounds String

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

UndefinedElement String

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

Примеры
Подробности примеров
Eq ArrayException

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

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

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

Методы

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

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

Ord ArrayException

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

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

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

Методы

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

(<) :: ArrayException -> ArrayException -> Bool Исходный код

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

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

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

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

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

Show ArrayException

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

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

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

Методы

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

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

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

Исключение ArrayException

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

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

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

Методы

toException :: ArrayException -> НекоторыеИсключения Исходный код

fromException :: НекоторыеИсключения -> МожетБыть ArrayException Исходный код

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

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

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

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

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

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

ОшибкаВыхода Целое число

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

Примеры
Подробности примеров
Eq ExitCode
Подробности примера

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

Методы

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

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

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

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

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

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

Методы

readsPrec :: Int -> ReadS ExitCode Исходный код

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

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

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

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

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

Методы

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

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

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

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

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

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

type Rep ExitCode :: Type -> Type Исходный код

Методы

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

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

Исключение ExitCode

С: base-4.1.0.0

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

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

Методы

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

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

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

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

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

type Rep ExitCode = D1 ('MetaData "ExitCode" "GHC.IO.Exception" "base" 'False) (C1 ('MetaCons "ExitSuccess" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: C1 ('MetaCons "ExitFailure" 'PrefixI 'False) (S1 ('MetaSel ('Ничего :: Может быть Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Целое)))

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

Исключение, выбрасываемое при обнаружении бесконечного цикла в fixIO.

С версии: base-4.11.0.0

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

FixIOException
Экземпляры
Подробности экземпляров
Show FixIOException

С версии: base-4.11.0.0

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

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

Методы

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

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

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

Исключение FixIOException

С версии: base-4.11.0.0

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

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

Методы

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

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

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

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

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

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

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

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

В Haskell 2010, это тип скрытый (opaque).

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

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

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

IOError

Поля

  • ioe_handle :: Может быть Дескриптор
  • ioe_type :: ТипIOError
  • ioe_location :: Строка
  • ioe_description :: Строка
  • ioe_errno :: Может быть CInt
  • ioe_filename :: Может быть Путь к файлу
Примеры реализации
Подробности примеров
Eq IOException

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

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

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

Методы

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

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

Show IOException

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

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

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

Методы

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

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

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

Исключение IOException

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

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

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

Методы

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

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

displayException :: IOException -> String Исходный код

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

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

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

УжеСуществует
ОбъектНеНайден
РесурсЗанят
РесурсыИсчерпаны
КонецФайла
НезаконнаяОперация
ДоступЗапрещен
ОшибкаПользователя
НевыполненныеОграничения
ОшибкаСистемы
ОшибкаПротокола
ДругаяОшибка
НеверныйАргумент
НеподходящийТип
НеисправностьАппаратуры
НеподдерживаемаяОперация
ВремяИстекло
РесурсИсчез
Прервано
Примеры реализации
Подробности примеров
Eq ТипОшибкиIO

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

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

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

Методы

(==) :: ТипОшибкиIO -> ТипОшибкиIO -> Bool Исходный код

(/=) :: ТипОшибкиIO -> ТипОшибкиIO -> Bool Исходный код

Show ТипОшибкиIO

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

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

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

Методы

showsPrec :: Int -> ТипОшибкиIO -> ShowS Исходный код

show :: ТипОшибкиIO -> String Исходный код

showList :: [ТипОшибкиIO] -> ShowS Исходный код

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

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

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

assertError :: (?callStack :: CallStack) => Булево -> a -> a Источник

unsupportedOperation :: ОшибкаIO Источник

untangle :: Addr# -> Строка -> Строка Источник

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

Spec-Zone.ru

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