Reference documentation for deal.II version 9.0.0
|
Enumerations | |
enum | ExceptionHandling { abort_on_exception, throw_on_exception, abort_nothrow_on_exception } |
Functions | |
void | abort (const ExceptionBase &exc) |
template<class 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<class ExceptionType > | |
void | issue_error_nothrow (ExceptionHandling, const char *file, int line, const char *function, const char *cond, const char *exc_name, ExceptionType e) noexcept |
std::string | get_cusparse_error_string (const cusparseStatus_t error_code) |
std::string | get_cusolver_error_string (const cusolverStatus_t error_code) |
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.
An enum describing how to treat an exception in issue_error.
Enumerator | |
---|---|
abort_on_exception | Abort the program by calling |
throw_on_exception | Throw the exception normally. |
abort_nothrow_on_exception | Call |
Definition at line 1014 of file exceptions.h.
void deal_II_exceptions::internals::abort | ( | const ExceptionBase & | exc | ) |
Conditionally abort the program.
Depending on whether deal_II_exceptions::disable_abort_on_exception was called, this function either aborts the program flow by printing the error message provided by exc
and calling std::abort()
, or throws exc
instead.
Definition at line 460 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 with a call to abort
or throwing an exception.
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 1050 of file exceptions.h.
|
noexcept |
Internal function that does the work of issue_error_nothrow.
Definition at line 444 of file exceptions.cc.
|
noexcept |
Exception generation mechanism in case we must not throw.
Definition at line 1091 of file exceptions.h.
std::string deal_II_exceptions::internals::get_cusparse_error_string | ( | const cusparseStatus_t | error_code | ) |
Return a string given an error code. This is similar to the cudaGetErrorString function but there is no equivalent function for cuSPARSE.
Definition at line 474 of file exceptions.cc.
std::string deal_II_exceptions::internals::get_cusolver_error_string | ( | const cusolverStatus_t | error_code | ) |
Return a string given an error code. This is similar to the cudaGetErrorString function but there is no equivalent function for cuSOLVER.
Definition at line 519 of file exceptions.cc.