mirror of
https://github.com/triqs/dft_tools
synced 2024-12-25 13:53:40 +01:00
3fe400d34c
- examples split from the rst file using a python script (split_code). - Final result for the doc is unchanged. - examples are compiled and tested with the other tests. - examples' code have been clang-formatted, with triqs style. - doc compiles much faster, and with the same options as the rest of the test. - examples are added as tests, so they are run by make test, as simple C tests. - done for the tutorials and the reference. - autocompile removed (changed into triqs_example directive). - add triqs_example : - make a literal include of the source code. - runs the compiled example - add, as before, the result to the source code in the doc. - added the script split_code, used to make the changes automatically, maybe for later reuse. (in _tools)
30 lines
754 B
ReStructuredText
30 lines
754 B
ReStructuredText
|
|
.. highlight:: c
|
|
|
|
.. _util_exceptions:
|
|
|
|
Exceptions
|
|
=============
|
|
|
|
|
|
TRIQS defines special exceptions, with the following characteristics :
|
|
|
|
* they derives from std::exceptions
|
|
* their .what() contains :
|
|
|
|
* the file and line where the exception occurred
|
|
* an additionnal error message (see example below). The error behaves like a std::stringstream,
|
|
one can accumulate any message
|
|
* a complete stack strace of the C++ code at the exception point, with demangling of the function name (on gcc and clang).
|
|
|
|
.. warning::
|
|
|
|
For uniformity, it is highly recommended to use these macros when developing for TRIQS.
|
|
|
|
Example :
|
|
|
|
.. triqs_example:: ./exceptions_0.cpp
|
|
The exception can of course be caught :
|
|
|
|
.. triqs_example:: ./exceptions_1.cpp
|