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 | |
blockedIndefinitelyOnMVar :: SomeException Исходный код
data Заблокированный_бесконечно_на_STM Исходный код
Поток ожидает повторного выполнения транзакции STM, но нет других ссылок на любые TVars, участвующие в ней, поэтому он никогда не сможет продолжить работу.
Конструкторы
| Заблокированный_бесконечно_на_STM |
Примеры использования
| Исключение BlockedIndefinitelyOnSTM Исходный код | С версии: base-4.1.0.0 |
Определено в GHC.Internal.IO.Exception | |
| Вывод 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 -> Может быть Тупик Исходный код | |
| Вывод Тупик Исходный код | С версии: 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 | |
allocationLimitExceeded :: НекоторыеИсключения Исходный код
newtype ОшибкаУтверждения Исходный код
assert было применено к False.
Конструкторы
| ОшибкаУтверждения Строка |
Примеры
| Исключение ОшибкаУтверждения Исходный код | С момента: base-4.1.0.0 |
Определено в GHC.Internal.IO.Exception | |
| 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 | |
| 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 | |
| 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 |
Куча программы достигает своего предела, и программа должна принять меры, чтобы уменьшить количество активных данных. Примечания:
|
| ThreadKilled | Это исключение возбуждается другим потоком, вызывающим |
| UserInterrupt | Это исключение по умолчанию возбуждается в основном потоке программы, когда пользователь запрашивает завершение программы с помощью обычных механизмов (например, Control-C в консоли). |
Примеры реализации
stackOverflow :: SomeException Исходный код
heapOverflow :: SomeException Исходный код
data ИсключениеМассива Исходный код
Исключения, сгенерированные операциями с массивами
Конструкторы
| IndexOutOfBounds Строка | Попытка индексирования массива за пределами его границ. |
| UndefinedElement Строка | Попытка получить элемент массива, который не был инициализирован. |
Примеры
data Код выхода Исходный код
Определяет коды выхода, которые может возвращать программа.
Конструкторы
| ExitSuccess | указывает на успешное завершение; |
| ExitFailure Целое число | указывает на ошибку программы с кодом выхода. Точное толкование кода зависит от операционной системы. В частности, некоторые значения могут быть запрещены (например, 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 Исходный код | |
| тип 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 | |
| Вывод 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 Исходный код
type IOError = IOException Исходный код
Тип исключений в IO монаде по спецификации Haskell 2010. Любая операция ввода-вывода может вызвать IOError вместо возврата результата. Для более общего типа исключений, включая те, которые возникают в чистом коде, см. Exception.
В Haskell 2010 это тип с неявным значением.
data IOException Исходный код
Исключения, возникающие в IO монаде. IOException записывает более конкретный тип ошибки, описательную строку и, возможно, дескриптор, который использовался при возникновении ошибки.
Конструкторы
| IOError | |
Поля
| |
Примеры
| Исключение IOException Исходный код | С момента: base-4.1.0.0 |
Определено в GHC.Internal.IO.Exception | |
| 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.
Примеры
| 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