GHC.IO.Exception
| Авторские права | (c) The University of Glasgow 2009 |
|---|---|
| Лицензия | see libraries/base/LICENSE |
| Сопровождающий | libraries@haskell.org |
| Стабильность | внутренний |
| Переносимость | непереносимый |
| Безопасный Haskell | Safe |
| Язык | Haskell2010 |
Описание
Типы исключений и функции, связанные с IO
API этого модуля нестабилен и не предназначен для использования широкой публикой. Если вам непременно нужно от него зависеть, обязательно используйте строгое верхнее ограничение, например base < 4.X вместо base < 5, поскольку интерфейс может быстро меняться без особого предупреждения.
data BlockedIndefinitelyOnMVar Источник
Поток заблокирован на MVar, но других ссылок на MVar нет, поэтому он никогда не сможет продолжить выполнение.
Конструкторы
| BlockedIndefinitelyOnMVar |
Экземпляры
| Exception BlockedIndefinitelyOnMVar Источник | Начиная с: base-4.1.0.0 |
Определено в GHC.Internal.IO.Exception | |
| Show BlockedIndefinitelyOnMVar Источник | Начиная с: base-4.1.0.0 |
Определено в GHC.Internal.IO.Exception МетодыshowsPrec :: Int -> BlockedIndefinitelyOnMVar -> ShowS Источник | |
blockedIndefinitelyOnMVar :: SomeException Источник
data BlockedIndefinitelyOnSTM Источник
Поток ожидает повторной попытки транзакции STM, но ссылок на какие-либо задействованные TVar больше нет, поэтому он никогда не сможет продолжить выполнение.
Конструкторы
| BlockedIndefinitelyOnSTM |
Экземпляры
| Exception BlockedIndefinitelyOnSTM Источник | Начиная с: base-4.1.0.0 |
Определено в GHC.Internal.IO.Exception | |
| Show BlockedIndefinitelyOnSTM Источник | Начиная с: base-4.1.0.0 |
Определено в GHC.Internal.IO.Exception МетодыshowsPrec :: Int -> BlockedIndefinitelyOnSTM -> ShowS Источник | |
blockedIndefinitelyOnSTM :: SomeException Источник
Нет потоков, готовых к выполнению, поэтому программа попала в тупик. Исключение Deadlock возникает только в главном потоке.
Конструкторы
| Deadlock |
Экземпляры
| Exception Deadlock Источник | Начиная с: base-4.1.0.0 |
Определено в GHC.Internal.IO.Exception МетодыtoException :: Deadlock -> SomeException Источник fromException :: SomeException -> Maybe Deadlock Источник displayException :: Deadlock -> String Источник backtraceDesired :: Deadlock -> Bool Источник | |
| Show Deadlock Источник | Начиная с: base-4.1.0.0 |
data AllocationLimitExceeded Источник
Этот поток превысил лимит выделения памяти. См. setAllocationCounter и enableAllocationLimit.
Начиная с: base-4.8.0.0
Конструкторы
| AllocationLimitExceeded |
Экземпляры
| Exception AllocationLimitExceeded Источник | Начиная с: base-4.8.0.0 |
Определено в GHC.Internal.IO.Exception | |
| Show AllocationLimitExceeded Источник | Начиная с: base-4.7.1.0 |
Определено в GHC.Internal.IO.Exception МетодыshowsPrec :: Int -> AllocationLimitExceeded -> ShowS Источник show :: AllocationLimitExceeded -> String Источник showList :: [AllocationLimitExceeded] -> ShowS Источник | |
allocationLimitExceeded :: SomeException Источник
newtype AssertionFailed Источник
Конструкторы
| AssertionFailed String |
Экземпляры
| Exception AssertionFailed Источник | Начиная с: base-4.1.0.0 |
Определено в GHC.Internal.IO.Exception | |
| Show AssertionFailed Источник | Начиная с: base-4.1.0.0 |
Определено в GHC.Internal.IO.Exception МетодыshowsPrec :: Int -> AssertionFailed -> ShowS Источник show :: AssertionFailed -> String Источник showList :: [AssertionFailed] -> ShowS Источник | |
newtype CompactionFailed Источник
При уплотнении обнаружен объект, который нельзя уплотнить. Функции, изменяемые объекты и закреплённые объекты уплотнить нельзя. См. compact.
Начиная с: base-4.10.0.0
Конструкторы
| CompactionFailed String |
Экземпляры
| Exception CompactionFailed Исходный код | Начиная с: base-4.10.0.0 |
Определено в GHC.Internal.IO.Exception | |
| Show CompactionFailed Исходный код | Начиная с: base-4.10.0.0 |
Определено в GHC.Internal.IO.Exception МетодыshowsPrec :: Int -> CompactionFailed -> ShowS Исходный код show :: CompactionFailed -> String Исходный код showList :: [CompactionFailed] -> ShowS Исходный код | |
cannotCompactFunction :: SomeException Исходный код
cannotCompactPinned :: SomeException Исходный код
cannotCompactMutable :: SomeException Исходный код
data SomeAsyncException Исходный код
Суперкласс асинхронных исключений.
Начиная с: base-4.7.0.0
Конструкторы
| Exception e => SomeAsyncException e |
Экземпляры
| Exception SomeAsyncException Исходный код | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.IO.Exception | |
| Show SomeAsyncException Исходный код | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.IO.Exception МетодыshowsPrec :: Int -> SomeAsyncException -> ShowS Исходный код show :: SomeAsyncException -> String Исходный код showList :: [SomeAsyncException] -> ShowS Исходный код | |
asyncExceptionToException :: Exception e => e -> SomeException Исходный код
Начиная с: base-4.7.0.0
asyncExceptionFromException :: Exception e => SomeException -> Maybe e Исходный код
Начиная с: base-4.7.0.0
data AsyncException Исходный код
Асинхронные исключения.
Конструкторы
| StackOverflow | Стек текущего потока превысил установленный предел. Поскольку было сгенерировано исключение, стек потока снова окажется в пределах установленного ограничения, однако программисту следует немедленно принять меры для устранения проблемы. |
| HeapOverflow |
Куча программы приближается к пределу, и программе следует принять меры, чтобы уменьшить объём хранимых в ней живых данных. Примечания:
|
| ThreadKilled | Это исключение генерируется другим потоком при вызове |
| UserInterrupt | По умолчанию это исключение генерируется в главном потоке программы, когда пользователь запрашивает завершение программы обычным способом (например, нажатием Control-C в консоли). |
Экземпляры
| Eq AsyncException Исходный код | Начиная с: base-4.2.0.0 |
Определено в GHC.Internal.IO.Exception Методы(==) :: AsyncException -> AsyncException -> Bool Исходный код (/=) :: AsyncException -> AsyncException -> Bool Исходный код | |
| Ord AsyncException Исходный код | Начиная с: base-4.2.0.0 |
Определено в GHC.Internal.IO.Exception Методыcompare :: AsyncException -> AsyncException -> Ordering Исходный код (<) :: AsyncException -> AsyncException -> Bool Исходный код (<=) :: AsyncException -> AsyncException -> Bool Исходный код (>) :: AsyncException -> AsyncException -> Bool Исходный код (>=) :: AsyncException -> AsyncException -> Bool Исходный код | |
| Exception AsyncException Исходный код | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.IO.Exception | |
| Show AsyncException Исходный код | Начиная с: base-4.1.0.0 |
Определено в GHC.Internal.IO.Exception МетодыshowsPrec :: Int -> AsyncException -> ShowS Исходный код show :: AsyncException -> String Исходный код showList :: [AsyncException] -> ShowS Исходный код | |
stackOverflow :: SomeException Исходный код
heapOverflow :: SomeException Исходный код
data ArrayException Исходный код
Исключения, генерируемые операциями с массивами
Конструкторы
| IndexOutOfBounds String | Предпринята попытка обратиться к элементу массива за пределами объявленных границ. |
| UndefinedElement String | Предпринята попытка вычислить элемент массива, который не был инициализирован. |
Экземпляры
Определяет коды завершения, которые может возвращать программа.
Конструкторы
| ExitSuccess | указывает на успешное завершение; |
| ExitFailure Int | указывает на сбой программы с кодом завершения. Точная интерпретация кода зависит от операционной системы. В частности, некоторые значения могут быть запрещены (например, 0 в POSIX-совместимой системе). |
Экземпляры
data FixIOException Источник
Исключение, возникающее при обнаружении бесконечного цикла в fixIO.
Начиная с: base-4.11.0.0
Конструкторы
| FixIOException |
Экземпляры
| Exception FixIOException Источник | Начиная с: base-4.11.0.0 |
Определён в GHC.Internal.IO.Exception МетодыtoException :: FixIOException -> SomeException Источник fromException :: SomeException -> Maybe FixIOException Источник | |
| Show FixIOException Источник | Начиная с: base-4.11.0.0 |
Определён в GHC.Internal.IO.Exception МетодыshowsPrec :: Int -> FixIOException -> ShowS Источник show :: FixIOException -> String Источник showList :: [FixIOException] -> ShowS Источник | |
ioException :: HasCallStack => IOException -> IO a Источник
ioError :: HasCallStack => IOError -> IO a Источник
type IOError = IOException Источник
Тип исключений Haskell 2010 для монады IO. Любая операция ввода-вывода может вызвать IOError вместо возврата результата. Более общий тип исключений, включающий также возникающие в чистом коде исключения, см. в Exception.
В Haskell 2010 это непрозрачный тип.
data IOException Источник
Исключения, возникающие в монаде IO. IOException содержит более конкретный тип ошибки, описательную строку и, возможно, дескриптор, использовавшийся при регистрации ошибки.
Конструкторы
| IOError | |
Поля
| |
Экземпляры
| Eq IOException Источник | Начиная с: base-4.1.0.0 |
Определён в GHC.Internal.IO.Exception Методы(==) :: IOException -> IOException -> Bool Источник (/=) :: IOException -> IOException -> Bool Источник | |
| Exception IOException Источник | Начиная с: base-4.1.0.0 |
Определён в GHC.Internal.IO.Exception МетодыtoException :: IOException -> SomeException Источник fromException :: SomeException -> Maybe IOException Источник | |
| Show IOException Источник | Начиная с: base-4.1.0.0 |
Определён в GHC.Internal.IO.Exception МетодыshowsPrec :: Int -> IOException -> ShowS Источник show :: IOException -> String Источник showList :: [IOException] -> ShowS Источник | |
data IOErrorType Источник
Абстрактный тип, содержащий значение для каждого варианта IOError.
Конструкторы
| AlreadyExists | |
| NoSuchThing | |
| ResourceBusy | |
| ResourceExhausted | |
| EOF | |
| IllegalOperation | |
| PermissionDenied | |
| UserError | |
| UnsatisfiedConstraints | |
| SystemError | |
| ProtocolError | |
| OtherError | |
| InvalidArgument | |
| InappropriateType | |
| HardwareFault | |
| UnsupportedOperation | |
| TimeExpired | |
| ResourceVanished | |
| Interrupted |
Экземпляры
| Eq IOErrorType Источник | Начиная с: base-4.1.0.0 |
Определён в GHC.Internal.IO.Exception Методы(==) :: IOErrorType -> IOErrorType -> Bool Источник (/=) :: IOErrorType -> IOErrorType -> Bool Источник | |
| Show IOErrorType Источник | Начиная с: base-4.1.0.0 |
Определён в GHC.Internal.IO.Exception МетодыshowsPrec :: Int -> IOErrorType -> ShowS Источник show :: IOErrorType -> String Источник showList :: [IOErrorType] -> ShowS Источник | |
userError :: String -> IOError Источник
Создаёт значение IOError со строкой, описывающей ошибку. Метод fail экземпляра IO класса Monad вызывает userError, например:
instance Monad IO where ... fail s = ioError (userError s)
assertError :: (?callStack :: CallStack) => Bool -> a -> a Источник
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.14.1/docs/libraries/base-4.22.0.0-66f8/GHC-IO-Exception.html