Fixed the Exception::what() function

This commit is contained in:
jbeder
2009-07-26 01:37:21 +00:00
parent 27055f178f
commit d0870b4112

View File

@@ -61,16 +61,19 @@ namespace YAML
class Exception: public std::exception { class Exception: public std::exception {
public: public:
Exception(int line_, int column_, const std::string& msg_) Exception(int line_, int column_, const std::string& msg_)
: line(line_), column(column_), msg(msg_) {} : line(line_), column(column_), msg(msg_) {
std::stringstream output;
output << "Error at line " << line+1 << ", column " << column+1 << ": " << msg;
what_ = output.str();
}
virtual ~Exception() throw() {} virtual ~Exception() throw() {}
virtual const char *what() const throw() { virtual const char *what() const throw() { return what_.c_str(); }
std::stringstream output;
output << "Error at line " << line+1 << ", column " << column+1 << ": " << msg;
return output.str().c_str();
}
int line, column; int line, column;
std::string msg; std::string msg;
private:
std::string what_;
}; };
class ParserException: public Exception { class ParserException: public Exception {