42 class Error :
public std::exception {
50 Error(
const std::string &file,
int line,
const std::string &
what)
51 : what_(file +
":" +
std::to_string(line) +
": " + what)
58 virtual const char *
what() const noexcept
override {
return what_.c_str(); }
61 const std::string what_;
74 :
Error(file, line, func +
" is not implemented")
89 const std::string &module,
const std::string &func)
90 :
Error(file, line, module +
" in " + func +
" is not implemented")
112 BadDimension(
const std::string &file,
int line,
const std::string &func,
113 const std::string &op_name, std::size_t op_num_rows,
114 std::size_t op_num_cols,
const std::string &clarification)
116 func +
": Object " + op_name +
" has dimensions [" +
117 std::to_string(op_num_rows) +
" x " +
118 std::to_string(op_num_cols) +
"]: " + clarification)
135 CudaError(
const std::string &file,
int line,
const std::string &func,
137 :
Error(file, line, func +
": " + get_error(error_code))
141 static std::string get_error(
int error_code);
159 :
Error(file, line, func +
": " + get_error(error_code))
163 static std::string get_error(
int error_code);
180 MetisError(
const std::string &file,
int line,
const std::string &func,
182 :
Error(file, line, func +
": " + get_error(error_code))
186 static std::string get_error(
int error_code);
203 UmfpackError(
const std::string &file,
int line,
const std::string &func,
205 :
Error(file, line, func +
": " + get_error(error_code))
209 static std::string get_error(
int error_code);
213 #endif // exception.hpp ModuleNotImplemented(const std::string &file, int line, const std::string &module, const std::string &func)
Initializes a NotImplemented error.
Definition: exception.hpp:88
Definition: exception.hpp:42
CusparseError(const std::string &file, int line, const std::string &func, int error_code)
Initializes a cuSPARSE error.
Definition: exception.hpp:157
CusparseError is thrown when a cuSPARSE routine throws a non-zero error code.
Definition: exception.hpp:148
MetisError is thrown when a METIS routine throws a non-zero error code.
Definition: exception.hpp:170
CudaError(const std::string &file, int line, const std::string &func, int error_code)
Initializes a CUDA error.
Definition: exception.hpp:135
UmfpackError is thrown when a METIS routine throws a non-zero error code.
Definition: exception.hpp:193
Definition: exception.hpp:65
BadDimension is thrown if an operation is being applied to a LinOp with bad dimensions.
Definition: exception.hpp:99
BadDimension(const std::string &file, int line, const std::string &func, const std::string &op_name, std::size_t op_num_rows, std::size_t op_num_cols, const std::string &clarification)
Initializes a bad dimension error.
Definition: exception.hpp:112
virtual const char * what() const noexcept override
Returns a human-readable string with a more detailed description of the error.
Definition: exception.hpp:58
UmfpackError(const std::string &file, int line, const std::string &func, int error_code)
Initializes a METIS error.
Definition: exception.hpp:203
CudaError is thrown when a CUDA routine throws a non-zero error code.
Definition: exception.hpp:126
Error(const std::string &file, int line, const std::string &what)
Initializes an error.
Definition: exception.hpp:50
NotImplemented(const std::string &file, int line, const std::string &func)
Initializes a NotImplemented error.
Definition: exception.hpp:73
Definition: exception.hpp:79
MetisError(const std::string &file, int line, const std::string &func, int error_code)
Initializes a METIS error.
Definition: exception.hpp:180