cppexception: translate C++ exceptions into Python¶
- class pybindgen.cppexception.CppException(name, parent=None, outer_class=None, custom_name=None, foreign_cpp_namespace=None, message_rvalue=None, is_standard_error=False)¶
Bases:
object
- Parameters
name – exception class name
parent – optional parent class wrapper
custom_name – an alternative name to give to this exception class at python-side; if omitted, the name of the class in the python module will be the same name as the class in C++ (minus namespace).
is_standard_error – if True (default false), throws a standard Python Exception with the same name instead of creating anew exception. If custom_name is set, it uses the standard exception with that name instead.
foreign_cpp_namespace – if set, the class is assumed to belong to the given C++ namespace, regardless of the C++ namespace of the python module it will be added to. For instance, this can be useful to wrap std classes, like std::ofstream, without having to create an extra python submodule.
message_rvalue – if not None, this parameter is a string that contains an rvalue C expression that evaluates to the exception message. The Python % operator will be used to substitute %(EXC)s for the caught exception variable name. The rvalue expression must return a string of type “char const*”, a pointer owned by the exception instance.
- generate(code_sink, module, docstring=None)¶
Generates the class to a code sink
- generate_forward_declarations(code_sink, dummy_module)¶
- get_module()¶
Get the Module object this type belongs to
- property module¶
Get the Module object this type belongs to
- property python_full_name¶
- property python_name¶
- set_module(module)¶
Set the Module object this type belongs to
- write_convert_to_python(code_block, variable_name)¶