rename SystemError to CatchableError in order to avoid breaking Nimble and probably lots of other code

This commit is contained in:
Araq
2018-08-10 15:31:53 +02:00
parent 1d78ba64b4
commit 4cf1e3eb4b
3 changed files with 7 additions and 6 deletions

View File

@@ -178,7 +178,7 @@
of managing memory.
- The exception hierarchy was slightly reworked, ``SystemError`` was renamed to
``Error`` and is the new base class for any exception that is guaranteed to
``CatchableError`` and is the new base class for any exception that is guaranteed to
be catchable. This change should have minimal impact on most existing Nim code.

View File

@@ -3973,7 +3973,8 @@ Every exception inherits from ``system.Exception``. Exceptions that indicate
programming bugs inherit from ``system.Defect`` (which is a subtype of ``Exception``)
and are stricly speaking not catchable as they can also be mapped to an operation
that terminates the whole process. Exceptions that indicate any other runtime error
that can be caught inherit from ``system.Error`` (which is a subtype of ``Exception``).
that can be caught inherit from ``system.CatchableError``
(which is a subtype of ``Exception``).
Imported exceptions

View File

@@ -489,18 +489,18 @@ type
## but that are strictly uncatchable as they can also be mapped to
## a ``quit`` / ``trap`` / ``exit`` operation.
Error* = object of Exception ## \
CatchableError* = object of Exception ## \
## Abstract class for all exceptions that are catchable.
IOError* = object of Error ## \
IOError* = object of CatchableError ## \
## Raised if an IO error occurred.
EOFError* = object of IOError ## \
## Raised if an IO "end of file" error occurred.
OSError* = object of Error ## \
OSError* = object of CatchableError ## \
## Raised if an operating system service failed.
errorCode*: int32 ## OS-defined error code describing this error.
LibraryError* = object of OSError ## \
## Raised if a dynamic library could not be loaded.
ResourceExhaustedError* = object of Error ## \
ResourceExhaustedError* = object of CatchableError ## \
## Raised if a resource request could not be fulfilled.
ArithmeticError* = object of Defect ## \
## Raised if any kind of arithmetic error occurred.