system/exceptions
Source Edit Exception and effect types used in Nim code.
Types
AccessViolationDefect = object of Defect
- Raised for invalid memory access errors Source Edit
AccessViolationError {....deprecated: "See corresponding Defect".} = AccessViolationDefect -
Deprecated: See corresponding Defect
Source Edit ArithmeticDefect = object of Defect
- Raised if any kind of arithmetic error occurred. Source Edit
ArithmeticError {....deprecated: "See corresponding Defect".} = ArithmeticDefect -
Deprecated: See corresponding Defect
Source Edit AssertionDefect = object of Defect
-
Raised when assertion is proved wrong.
Usually the result of using the assert() template.
Source Edit AssertionError {....deprecated: "See corresponding Defect".} = AssertionDefect -
Deprecated: See corresponding Defect
Source Edit DeadThreadDefect = object of Defect
- Raised if it is attempted to send a message to a dead thread. Source Edit
DeadThreadError {....deprecated: "See corresponding Defect".} = DeadThreadDefect -
Deprecated: See corresponding Defect
Source Edit DivByZeroDefect = object of ArithmeticDefect
- Raised for runtime integer divide-by-zero errors. Source Edit
DivByZeroError {....deprecated: "See corresponding Defect".} = DivByZeroDefect -
Deprecated: See corresponding Defect
Source Edit EOFError = object of IOError
- Raised if an IO "end of file" error occurred. Source Edit
ExecIOEffect = object of IOEffect
- Effect describing an executing IO operation. Source Edit
FieldDefect = object of Defect
- Raised if a record field is not accessible because its discriminant's value does not fit. Source Edit
FieldError {....deprecated: "See corresponding Defect".} = FieldDefect -
Deprecated: See corresponding Defect
Source Edit FloatDivByZeroDefect = object of FloatingPointDefect
-
Raised by division by zero.
Divisor is zero and dividend is a finite nonzero number.
Source Edit FloatDivByZeroError {....deprecated: "See corresponding Defect".} = FloatDivByZeroDefect -
Deprecated: See corresponding Defect
Source Edit FloatInexactDefect = object of FloatingPointDefect
-
Raised for inexact results.
The operation produced a result that cannot be represented with infinite precision -- for example: 2.0 / 3.0, log(1.1)
Note: Nim currently does not detect these!
Source Edit FloatInexactError {....deprecated: "See corresponding Defect".} = FloatInexactDefect -
Deprecated: See corresponding Defect
Source Edit FloatingPointDefect = object of Defect
- Base class for floating point exceptions. Source Edit
FloatingPointError {....deprecated: "See corresponding Defect".} = FloatingPointDefect -
Deprecated: See corresponding Defect
Source Edit FloatInvalidOpDefect = object of FloatingPointDefect
-
Raised by invalid operations according to IEEE.
Raised by 0.0/0.0, for example.
Source Edit FloatInvalidOpError {....deprecated: "See corresponding Defect".} = FloatInvalidOpDefect -
Deprecated: See corresponding Defect
Source Edit FloatOverflowDefect = object of FloatingPointDefect
-
Raised for overflows.
The operation produced a result that exceeds the range of the exponent.
Source Edit FloatOverflowError {....deprecated: "See corresponding Defect".} = FloatOverflowDefect -
Deprecated: See corresponding Defect
Source Edit FloatUnderflowDefect = object of FloatingPointDefect
-
Raised for underflows.
The operation produced a result that is too small to be represented as a normal number.
Source Edit FloatUnderflowError {....deprecated: "See corresponding Defect".} = FloatUnderflowDefect -
Deprecated: See corresponding Defect
Source Edit IndexDefect = object of Defect
- Raised if an array index is out of bounds. Source Edit
IndexError {....deprecated: "See corresponding Defect".} = IndexDefect -
Deprecated: See corresponding Defect
Source Edit IOEffect = object of RootEffect
- IO effect. Source Edit
IOError = object of CatchableError
- Raised if an IO error occurred. Source Edit
KeyError = object of ValueError
-
Raised if a key cannot be found in a table.
Mostly used by the tables module, it can also be raised by other collection modules like sets or strtabs.
Source Edit LibraryError = object of OSError
- Raised if a dynamic library could not be loaded. Source Edit
NilAccessDefect = object of Defect
-
Raised on dereferences of nil pointers.
This is only raised if the segfaults module was imported!
Source Edit NilAccessError {....deprecated: "See corresponding Defect".} = NilAccessDefect -
Deprecated: See corresponding Defect
Source Edit ObjectAssignmentDefect = object of Defect
- Raised if an object gets assigned to its parent's object. Source Edit
ObjectAssignmentError {....deprecated: "See corresponding Defect".} = ObjectAssignmentDefect -
Deprecated: See corresponding Defect
Source Edit ObjectConversionDefect = object of Defect
- Raised if an object is converted to an incompatible object type. You can use
of operator to check if conversion will succeed. Source Edit ObjectConversionError {....deprecated: "See corresponding Defect".} = ObjectConversionDefect -
Deprecated: See corresponding Defect
Source Edit OSError = object of CatchableError
errorCode*: int32 ## OS-defined error code describing this error.
- Raised if an operating system service failed. Source Edit
OutOfMemDefect = object of Defect
- Raised for unsuccessful attempts to allocate memory. Source Edit
OutOfMemError {....deprecated: "See corresponding Defect".} = OutOfMemDefect -
Deprecated: See corresponding Defect
Source Edit OverflowDefect = object of ArithmeticDefect
-
Raised for runtime integer overflows.
This happens for calculations whose results are too large to fit in the provided bits.
Source Edit OverflowError {....deprecated: "See corresponding Defect".} = OverflowDefect -
Deprecated: See corresponding Defect
Source Edit RangeDefect = object of Defect
- Raised if a range check error occurred. Source Edit
RangeError {....deprecated: "See corresponding Defect".} = RangeDefect -
Deprecated: See corresponding Defect
Source Edit ReadIOEffect = object of IOEffect
- Effect describing a read IO operation. Source Edit
ReraiseDefect = object of Defect
- Raised if there is no exception to reraise. Source Edit
ReraiseError {....deprecated: "See corresponding Defect".} = ReraiseDefect -
Deprecated: See corresponding Defect
Source Edit ResourceExhaustedError = object of CatchableError
- Raised if a resource request could not be fulfilled. Source Edit
StackOverflowDefect = object of Defect
- Raised if the hardware stack used for subroutine calls overflowed. Source Edit
StackOverflowError {....deprecated: "See corresponding Defect".} = StackOverflowDefect -
Deprecated: See corresponding Defect
Source Edit TimeEffect = object of RootEffect
- Time effect. Source Edit
ValueError = object of CatchableError
- Raised for string and object conversion errors. Source Edit
WriteIOEffect = object of IOEffect
- Effect describing a write IO operation. Source Edit