Reference documentation for deal.II version 9.2.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Public Member Functions | Public Attributes | List of all members

#include <deal.II/base/exceptions.h>

Inheritance diagram for StandardExceptions::ExcMPI:
[legend]

Public Member Functions

 ExcMPI (const int error_code)
 
virtual void print_info (std::ostream &out) const override
 
- Public Member Functions inherited from ExceptionBase
 ExceptionBase ()
 
 ExceptionBase (const ExceptionBase &exc)
 
virtual ~ExceptionBase () noexcept override
 
ExceptionBase operator= (const ExceptionBase &)=delete
 
void set_fields (const char *file, const int line, const char *function, const char *cond, const char *exc_name)
 
virtual const char * what () const noexcept override
 
const char * get_exc_name () const
 
void print_exc_data (std::ostream &out) const
 
void print_stack_trace (std::ostream &out) const
 

Public Attributes

const int error_code
 

Additional Inherited Members

- Protected Attributes inherited from ExceptionBase
const char * file
 
unsigned int line
 
const char * function
 
const char * cond
 
const char * exc
 
char ** stacktrace
 
int n_stacktrace_frames
 
void * raw_stacktrace [25]
 

Detailed Description

Exception for MPI errors. This exception is only defined if deal.II is compiled with MPI support. This exception should be used with AssertThrow to check error codes of MPI functions. For example:

const int ierr = MPI_Isend(...);
AssertThrow(ierr == MPI_SUCCESS, ExcMPI(ierr));

or, using the convenience macro AssertThrowMPI,

const int ierr = MPI_Irecv(...);

If the assertion fails then the error code will be used to print a helpful message to the screen by utilizing the MPI_Error_string function.

Author
David Wells, 2016

Definition at line 1168 of file exceptions.h.

Constructor & Destructor Documentation

◆ ExcMPI()

StandardExceptions::ExcMPI::ExcMPI ( const int  error_code)

Definition at line 353 of file exceptions.cc.

Member Function Documentation

◆ print_info()

void StandardExceptions::ExcMPI::print_info ( std::ostream &  out) const
overridevirtual

Print more specific information about the exception which occurred. Overload this function in your own exception classes.

Reimplemented from ExceptionBase.

Definition at line 358 of file exceptions.cc.

Member Data Documentation

◆ error_code

const int StandardExceptions::ExcMPI::error_code

Definition at line 1176 of file exceptions.h.


The documentation for this class was generated from the following files:
StandardExceptions::ExcMPI::ExcMPI
ExcMPI(const int error_code)
Definition: exceptions.cc:353
AssertThrowMPI
#define AssertThrowMPI(error_code)
Definition: exceptions.h:1707
AssertThrow
#define AssertThrow(cond, exc)
Definition: exceptions.h:1531