libMesh::PetscSolverException Class Reference

#include <petsc_solver_exception.h>

Inheritance diagram for libMesh::PetscSolverException:

Public Member Functions

 PetscSolverException (int error_code_in)
virtual const char * what () const libmesh_noexcept

Public Attributes

int error_code
std::string what_message

Detailed Description

A specialization of the SolverException class for PETSc.

Definition at line 37 of file petsc_solver_exception.h.

Constructor & Destructor Documentation

libMesh::PetscSolverException::PetscSolverException ( int  error_code_in)

Definition at line 40 of file petsc_solver_exception.h.

References libMesh::SolverException::error_code, libmesh_nullptr, and libMesh::SolverException::what_message.

40  :
41  SolverException(error_code_in)
42  {
43  const char * text;
44  // This is one scenario where we don't catch the error code
45  // returned by a PETSc function :)
46  PetscErrorMessage(error_code, &text, libmesh_nullptr);
47  what_message = text;
48  }
SolverException(int error_code_in)
const class libmesh_nullptr_t libmesh_nullptr

Member Function Documentation

virtual const char* libMesh::SolverException::what ( ) const

Override the what() function to provide a generic error message.

Definition at line 131 of file libmesh_exceptions.h.

132  {
133  // std::string::c_str() is noexcept in C++11, so it's safe to call
134  // in what() because it can't throw.
135  return what_message.c_str();
136  }

Member Data Documentation

int libMesh::SolverException::error_code

The error code generated by the solver.

Definition at line 141 of file libmesh_exceptions.h.

Referenced by PetscSolverException().

std::string libMesh::SolverException::what_message

string which holds the message built in the constructor.

Definition at line 146 of file libmesh_exceptions.h.

Referenced by PetscSolverException().

The documentation for this class was generated from the following file: