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 |
blockedIndefinitelyOnMVar :: SomeException Источник
data Заблокировано_бессрочно_на_STM Источник
Поток ждёт повторной попытки транзакции STM, но нет других ссылок на какие-либо TVars, поэтому он не может продолжить работу.
Конструкторы
| Заблокировано_бессрочно_на_STM |
Примеры реализации
| Show Заблокировано_бессрочно_на_STM | С версии: base-4.1.0.0 |
blockedIndefinitelyOnSTM :: SomeException Источник
Нет работающих потоков, поэтому программа находится в тупике. Исключение 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 Исходный код | |
тип AllocationLimitExceeded Исходный код
Этот поток превысил лимит выделения. См. setAllocationCounter и enableAllocationLimit.
С момента: base-4.8.0.0
Конструкторы
| AllocationLimitExceeded |
Примеры использования
| Show AllocationLimitExceeded | С момента: base-4.7.1.0 |
Определено в GHC.IO.Exception МетодыshowsPrec :: Int -> AllocationLimitExceeded -> ShowS Исходный код | |
| Исключение AllocationLimitExceeded | С момента: base-4.8.0.0 |
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 | |
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 |
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 | |
asyncExceptionToException :: Исключение e => e -> SomeException Исходный код
С момента выпуска: base-4.7.0.0
asyncExceptionFromException :: Исключение e => SomeException -> Может e Исходный код
С момента выпуска: base-4.7.0.0
data AsyncException Исходный код
Асинхронные исключения.
Конструкторы
| StackOverflow | Стек текущего потока превысил свой лимит. Поскольку исключение было вызвано, стек потока, безусловно, будет ниже своего предела снова, но программист должен немедленно принять меры. |
| HeapOverflow |
Куча программы достигает своего предела, и программа должна принять меры, чтобы уменьшить количество активных данных. Примечания:
|
| ThreadKilled | Это исключение генерируется другим потоком, вызывающим |
| UserInterrupt | Это исключение по умолчанию генерируется в основном потоке программы, когда пользователь запрашивает завершение программы через обычный механизм (например, Control-C в консоли). |
Примеры
stackOverflow :: SomeException Исходный код
heapOverflow :: SomeException Исходный код
data ArrayException Исходный код
Исключения, сгенерированные операциями массива
Конструкторы
| IndexOutOfBounds String | Попытка индексирования массива за пределами его границ. |
| UndefinedElement String | Попытка получения значения элемента массива, который не был инициализирован. |
Примеры
data КодВыхода Исходный код
Определяет коды выхода, которые может вернуть программа.
Конструкторы
| УспешныйВыход | указывает на успешное завершение; |
| ОшибкаВыхода Целое число | указывает на ошибку программы с кодом выхода. Точное толкование кода зависит от операционной системы. В частности, некоторые значения могут быть запрещены (например, 0 на POSIX-совместимой системе). |
Примеры
Определено в GHC.IO.Exception МетодыtoException :: ExitCode -> SomeException Исходный код fromException :: SomeException -> Может быть 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 | |
ioException :: IOException -> IO a Исходный код
ioError :: IOError -> IO a Исходный код
type IOError = IOException Исходный код
Тип исключений в монаде IO, определённый в Haskell 2010. Любая операция ввода-вывода может вызвать IOError, вместо того, чтобы вернуть результат. Для более общего типа исключения, включая те, что возникают в чистом коде, см. Exception.
В Haskell 2010, это тип скрытый (opaque).
data IOException Исходный код
Исключения, возникающие в монаде IO. IOException содержит более специфический тип ошибки, описательную строку и, возможно, дескриптор файла, используемого при обнаружении ошибки.
Конструкторы
| IOError | |
Поля | |
Примеры реализации
| 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 Исходный код | |
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 Источник
© 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