mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-15 07:43:26 +00:00
rename SystemError to CatchableError in order to avoid breaking Nimble and probably lots of other code
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user