summaryrefslogtreecommitdiff
path: root/docs/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'docs/cpp')
-rw-r--r--docs/cpp/exceptions.rst27
1 files changed, 27 insertions, 0 deletions
diff --git a/docs/cpp/exceptions.rst b/docs/cpp/exceptions.rst
new file mode 100644
index 000000000..93a680533
--- /dev/null
+++ b/docs/cpp/exceptions.rst
@@ -0,0 +1,27 @@
+Exceptions
+==========
+
+The CVC5 API communicates certain errors using exceptions. We broadly
+distinguish two types of exceptions: :cpp:class:`CVC4ApiException
+<cvc5::api::CVC4ApiException>` and :cpp:class:`CVC4ApiRecoverableException
+<cvc5::api::CVC4ApiRecoverableException>` (which is derived from
+:cpp:class:`CVC4ApiException <cvc5::api::CVC4ApiException>`).
+
+If any method fails with a :cpp:class:`CVC4ApiRecoverableException
+<cvc5::api::CVC4ApiRecoverableException>`, the solver behaves as if the failing
+method was not called. The solver can still be used safely.
+
+If, however, a method fails with a :cpp:class:`CVC4ApiException
+<cvc5::api::CVC4ApiException>`, the associated object may be in an unsafe state
+and it should no longer be used.
+
+
+.. doxygenclass:: cvc5::api::CVC4ApiException
+ :project: cvc5
+ :members:
+ :undoc-members:
+
+.. doxygenclass:: cvc5::api::CVC4ApiRecoverableException
+ :project: cvc5
+ :members:
+ :undoc-members:
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback