From 73dd348dddfb552147be133f86834c016b001dda Mon Sep 17 00:00:00 2001 From: Mark Date: Sun, 8 Dec 2019 21:39:44 +0000 Subject: [PATCH] Manual update: custom exceptions (#12847) [backport] Said that you can have custom exceptions and showed how to create and raise them. --- doc/manual.rst | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/doc/manual.rst b/doc/manual.rst index 08276eb9bc..aed50554bc 100644 --- a/doc/manual.rst +++ b/doc/manual.rst @@ -4129,6 +4129,23 @@ error message from ``e``, and for such situations it is enough to use except: echo getCurrentExceptionMsg() +Custom exceptions +----------------- + +Is it possible to create custom exceptions. These make it easy to distinguish between exceptions raised by nim and those from your own code. + +A custom exception is a custom type: + +.. code-block:: nim + type + LoadError* = object of Exception + +Ending the custom exception's name with ``Error`` is recommended. + +Custom exceptions can be raised like any others, e.g.: + +.. code-block:: nim + raise newException(LoadError, "Failed to load data") Defer statement ---------------