OpenFPGA/libs/libvtrutil/src/vtr_error.h

33 lines
826 B
C
Raw Normal View History

#ifndef VTR_ERROR_H
#define VTR_ERROR_H
#include <stdexcept>
#include <string>
namespace vtr {
class VtrError : public std::runtime_error {
public:
VtrError(std::string msg = "", std::string new_filename = "", size_t new_linenumber = -1)
: std::runtime_error(msg)
, filename_(new_filename)
, linenumber_(new_linenumber) {}
//Returns the filename associated with this error
//returns an empty string if none is specified
std::string filename() const { return filename_; }
const char* filename_c_str() const { return filename_.c_str(); }
//Returns the line number associated with this error
//returns zero if none is specified
size_t line() const { return linenumber_; }
private:
std::string filename_;
size_t linenumber_;
};
} // namespace vtr
#endif