Ginkgo Generated from branch based on master. Ginkgo version 1.7.0
A numerical linear algebra library targeting many-core architectures
Loading...
Searching...
No Matches
Public Member Functions | List of all members
gko::Error Class Reference

The Error class is used to report exceptional behaviour in library functions. More...

#include <ginkgo/core/base/exception.hpp>

Inheritance diagram for gko::Error:
[legend]
Collaboration diagram for gko::Error:
[legend]

Public Member Functions

 Error (const std::string &file, int line, const std::string &what)
 Initializes an error.
 
virtual const charwhat () const noexcept override
 Returns a human-readable string with a more detailed description of the error.
 

Detailed Description

The Error class is used to report exceptional behaviour in library functions.

Ginkgo uses C++ exception mechanism to this end, and the Error class represents a base class for all types of errors. The exact list of errors which could occur during the execution of a certain library routine is provided in the documentation of that routine, along with a short description of the situation when that error can occur. During runtime, these errors can be detected by using standard C++ try-catch blocks, and a human-readable error description can be obtained by calling the Error::what() method.

As an example, trying to compute a matrix-vector product with arguments of incompatible size will result in a DimensionMismatch error, which is demonstrated in the following program.

#include <ginkgo.h>
#include <iostream>
using namespace gko;
int main()
{
auto omp = create<OmpExecutor>();
auto A = randn_fill<matrix::Csr<float>>(5, 5, 0f, 1f, omp);
auto x = fill<matrix::Dense<float>>(6, 1, 1f, omp);
try {
auto y = apply(A, x);
} catch(Error e) {
// an error occurred, write the message to screen and exit
std::cout << e.what() << std::endl;
return -1;
}
return 0;
}
The Error class is used to report exceptional behaviour in library functions.
Definition exception.hpp:86
The Ginkgo namespace.
Definition abstract_factory.hpp:48
constexpr T one()
Returns the multiplicative identity for T.
Definition math.hpp:803

Constructor & Destructor Documentation

◆ Error()

gko::Error::Error ( const std::string & file,
int line,
const std::string & what )
inline

Initializes an error.

Parameters
fileThe name of the offending source file
lineThe source code line number where the error occurred
whatThe error message

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