-
Adam Wardynski authoreda6435107
exception.h 1.09 KiB
#ifndef LIBWCCL_EXCEPTION_H
#define LIBWCCL_EXCEPTION_H
#include <libpwrutils/exception.h>
namespace Wccl {
/**
* Base class for all Wccl errorss. Derives from
* @c std::runtime_error. Call member function @c what to get a
* human-readable message associated with the error.
*/
class WcclError : public PwrNlp::PwrNlpError
{
public:
/**
* Instantiate a WcclError instance with the given message.
* @param what The message to associate with this error.
*/
WcclError(const std::string &what);
~WcclError() throw();
/// PwrNlpError override
std::string scope() const;
};
class FileNotFound : public WcclError
{
public:
FileNotFound(const std::string& filename, const std::string& paths,
const std::string& where);
~FileNotFound() throw();
std::string info() const;
std::string filename, paths, where;
};
class InvalidArgument : public WcclError
{
public:
InvalidArgument(const std::string& arg_name, const std::string& reason);
~InvalidArgument() throw();
std::string info() const;
std::string arg_name;
std::string reason;
};
} /* end ns Wccl */
#endif // LIBWCCL_EXCEPTION_H