![]() |
Object-oriented Scientific Computing Library: Version 0.910
|
File for definitions for err_hnd_type and err_hnd_gsl. More...
#include <iostream>
#include <string>
#include <gsl/gsl_errno.h>
Go to the source code of this file.
See also exception.h .
Definition in file err_hnd.h.
Data Structures | |
class | err_hnd_type |
Class defining an error handler [abstract base]. More... | |
class | err_hnd_gsl |
The error handler. More... | |
Defines | |
#define | O2SCL_ERR(d, n) o2scl::set_err_fn(d,__FILE__,__LINE__,n); |
Set an error with message d and code n . | |
#define | O2SCL_CONV(d, n, b) {if (b) o2scl::set_err_fn(d,__FILE__,__LINE__,n);} |
Set a "convergence" error. | |
#define | O2SCL_ERR2(d, d2, n) |
Set an error, two-string version. | |
#define | O2SCL_CONV2(d, d2, n, b) |
Set a "convergence" error, two-string version. | |
#define | O2SCL_ERR_RET(d, n) do { o2scl::set_err_fn(d,__FILE__,__LINE__,n); return n; } while (0) |
Set an error and return the error value. | |
#define | O2SCL_CONV_RET(d, n, b) |
Set a "convergence" error and return the error value. | |
#define | O2SCL_ERR2_RET(d, d2, n) |
Set an error and return the error value, two-string version. | |
#define | O2SCL_CONV2_RET(d, d2, n, b) |
Set an error and return the error value, two-string version. | |
#define | O2SCL_ASSERT(ev) |
A version of assert , i.e. exit if the error value is non-zero and do nothing otherwise. | |
#define | O2SCL_BOOL_ASSERT(ev, str) |
A version of assert for bool types. Exit if the argument is false. | |
Enumerations | |
enum | { gsl_success = 0, gsl_failure = -1, gsl_continue = -2, gsl_edom = 1, gsl_erange = 2, gsl_efault = 3, gsl_einval = 4, gsl_efailed = 5, gsl_efactor = 6, gsl_esanity = 7, gsl_enomem = 8, gsl_ebadfunc = 9, gsl_erunaway = 10, gsl_emaxiter = 11, gsl_ezerodiv = 12, gsl_ebadtol = 13, gsl_etol = 14, gsl_eundrflw = 15, gsl_eovrflw = 16, gsl_eloss = 17, gsl_eround = 18, gsl_ebadlen = 19, gsl_enotsqr = 20, gsl_esing = 21, gsl_ediverge = 22, gsl_eunsup = 23, gsl_eunimpl = 24, gsl_ecache = 25, gsl_etable = 26, gsl_enoprog = 27, gsl_enoprogj = 28, gsl_etolf = 29, gsl_etolx = 30, gsl_etolg = 31, gsl_eof = 32, gsl_enotfound = 33, gsl_ememtype = 34, gsl_efilenotfound = 35, gsl_eindex = 36, gsl_outsidecons = 37 } |
The integer error definitions. More... | |
Functions | |
void | set_err_fn (const char *desc, const char *file, int line, int errnum) |
Set an error. | |
void | error_update (int &ret, int err) |
Update an error value err with the value in ret . | |
Variables | |
err_hnd_type * | err_hnd |
The global error handler pointer. | |
err_hnd_gsl | alt_err_hnd |
An alternate GSL-like error handler. |
#define O2SCL_ERR2 | ( | d, | |
d2, | |||
n | |||
) |
o2scl::set_err_fn((std::string(d)+d2).c_str(), \ __FILE__,__LINE__,n);
#define O2SCL_CONV2 | ( | d, | |
d2, | |||
n, | |||
b | |||
) |
{if (b) \ o2scl::set_err_fn((std::string(d)+d2).c_str(), \ __FILE__,__LINE__,n);}
#define O2SCL_CONV_RET | ( | d, | |
n, | |||
b | |||
) |
do { if (!b) { return 0; } else { \ o2scl::set_err_fn(d,__FILE__,__LINE__,n); return n; } } while (0)
#define O2SCL_ERR2_RET | ( | d, | |
d2, | |||
n | |||
) |
do { o2scl::set_err_fn((std::string(d)+d2).c_str(), \ __FILE__,__LINE__,n); return n; } while (0)
#define O2SCL_CONV2_RET | ( | d, | |
d2, | |||
n, | |||
b | |||
) |
do { if (!b) {return 0; } else { \ o2scl::set_err_fn((std::string(d)+d2).c_str(), \ __FILE__,__LINE__,n); return n; } } while (0)
#define O2SCL_ASSERT | ( | ev | ) |
do { if (ev!=0) { std::cout << "O2scl: Macro err_assert() causing exit" \ << " from error " << ev << " at " \ << __LINE__ << " in file:\n " \ << __FILE__ << std::endl; \ std::cout << "Error handler string:\n " << err_hnd->get_str() \ << std::endl; exit(ev); } } while (0)
#define O2SCL_BOOL_ASSERT | ( | ev, | |
str | |||
) |
anonymous enum |
The errors associated with the integers between -2 and 32 are from GSL, the rest are specific to O2scl .
Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).