deal.II version GIT relicensing-2206-gaa53ff9447 2024-12-02 09:10:00+00:00
|
Enumerations | |
enum class | ExceptionHandling { abort_or_throw_on_exception , throw_on_exception } |
Functions | |
void | abort (const ExceptionBase &exc) noexcept |
template<typename ExceptionType > | |
void | issue_error_noreturn (ExceptionHandling handling, const char *file, int line, const char *function, const char *cond, const char *exc_name, ExceptionType e) |
void | do_issue_error_nothrow (const ExceptionBase &e) noexcept |
template<typename ExceptionType > | |
void | issue_error_nothrow (const char *file, int line, const char *function, const char *cond, const char *exc_name, ExceptionType e) noexcept |
template<typename T , typename U > | |
constexpr bool | compare_for_equality (const T &t, const U &u) |
template<typename T , typename U > | |
constexpr bool | compare_less_than (const T &t, const U &u) |
std::string & | get_additional_assert_output () |
Variables | |
bool | allow_abort_on_exception = true |
bool | show_stacktrace = true |
The functions in this namespace are in connection with the Assert and AssertThrow mechanism but are solely for internal purposes and are not for use outside the exception handling and throwing mechanism.
|
strong |
An enum describing how to treat an exception in issue_error_noreturn.
Enumerator | |
---|---|
abort_or_throw_on_exception | Abort the program by calling |
throw_on_exception | Throw the exception normally. |
Definition at line 1445 of file exceptions.h.
|
noexcept |
Abort the program by printing the error message provided by exc
and calling std::abort()
.
Definition at line 480 of file exceptions.cc.
void deal_II_exceptions::internals::issue_error_noreturn | ( | ExceptionHandling | handling, |
const char * | file, | ||
int | line, | ||
const char * | function, | ||
const char * | cond, | ||
const char * | exc_name, | ||
ExceptionType | e | ||
) |
This routine does the main work for the exception generation mechanism used in the Assert
and AssertThrow
macros: as the name implies, this function either ends by throwing an exception (if handling
is ExceptionHandling::throw_on_exception, or handling
is try_abort_exception and deal_II_exceptions::disable_abort_on_exception is false) or with a call to abort
(if handling
is try_abort_exception and deal_II_exceptions::disable_abort_on_exception is true).
The actual exception object (the last argument) is typically an unnamed object created in place; because we modify it, we can't take it by const reference, and temporaries don't bind to non-const references. So take it by value (=copy it) with a templated type to avoid slicing – the performance implications are pretty minimal anyway.
Definition at line 1478 of file exceptions.h.
|
noexcept |
Internal function that does the work of issue_error_nothrow.
Definition at line 545 of file exceptions.cc.
|
noexcept |
Exception generation mechanism in case we must not throw.
Definition at line 1530 of file exceptions.h.
|
inlineconstexpr |
A function that compares two values for equality, after converting to a common type to avoid compiler warnings when comparing objects of different types (e.g., unsigned and signed variables).
Definition at line 1983 of file exceptions.h.
|
inlineconstexpr |
A function that compares two values with operator<
, after converting to a common type to avoid compiler warnings when comparing objects of different types (e.g., unsigned and signed variables).
Definition at line 1997 of file exceptions.h.
std::string & deal_II_exceptions::internals::get_additional_assert_output | ( | ) |
Definition at line 50 of file exceptions.cc.
bool deal_II_exceptions::internals::allow_abort_on_exception = true |
Setting this variable to false will disable deal.II's exception mechanism to abort the problem. The Assert() macro will throw the exception instead and the AssertNothrow() macro will just print the error message. This variable should not be changed directly. Use disable_abort_on_exception() instead.
Definition at line 58 of file exceptions.cc.
bool deal_II_exceptions::internals::show_stacktrace = true |
Definition at line 56 of file exceptions.cc.