Skip to content
Snippets Groups Projects
Select Git revision
  • 967dd4d1c1b5d25d4b62910c5dcbc8b89b78ac7e
  • master default protected
  • fix-words-ann
  • wccl-rules-migration
  • develop
5 results

exception.h

Blame
  • user avatar
    Adam Wardynski authored
    a6435107
    History
    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