aboutsummaryrefslogtreecommitdiffstats
path: root/lib/sol2/docs/source/api/error.rst
diff options
context:
space:
mode:
authorAndy Belle-Isle <drumsetmonkey@gmail.com>2019-08-30 00:45:36 -0400
committerAndy Belle-Isle <drumsetmonkey@gmail.com>2019-08-30 00:45:36 -0400
commitdc2493e7525bb7633f697ef10f72b72b46222249 (patch)
tree9816755219e65d3f47fdce81c78f3736a7ddb8ab /lib/sol2/docs/source/api/error.rst
parent9d2b31797d0cfd130802b69261df2cd402e39b49 (diff)
Forget what I said, I just need to change git attributes to mark for vendor
Diffstat (limited to 'lib/sol2/docs/source/api/error.rst')
-rw-r--r--lib/sol2/docs/source/api/error.rst21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/sol2/docs/source/api/error.rst b/lib/sol2/docs/source/api/error.rst
new file mode 100644
index 0000000..0548648
--- /dev/null
+++ b/lib/sol2/docs/source/api/error.rst
@@ -0,0 +1,21 @@
+error
+=====
+*the single error/exception type*
+
+
+.. code-block:: cpp
+
+ class error : public std::runtime_error {
+ public:
+ error(const std::string& str): std::runtime_error("lua: error: " + str) {}
+ };
+
+
+.. note::
+
+ Please do not throw this error type yourself. It belongs to the library and we do some information appending at the front.
+
+
+If an eror is thrown by sol, it is going to be of this type. We use this in a single place: the default ``at_panic`` function we bind on construction of a :ref:`sol::state<set-panic>`. If you turn :doc:`off exceptions<../exceptions>`, the chances of you seeing this error are nil unless you specifically use it to pull errors out of things such as :doc:`sol::protected_function<protected_function>`.
+
+As it derives from ``std::runtime_error``, which derives from ``std::exception``, you can catch it with a ``catch (const std::exception& )`` clause in your try/catch blocks. You can retrieve a string error from Lua (Lua pushes all its errors as string returns) by using this type with any of the get or lookup functions in sol.