(Finally) overrode Exception::what()\n

This commit is contained in:
jbeder
2009-07-10 04:17:30 +00:00
parent ae89793c28
commit 6752e25bcd
2 changed files with 7 additions and 1 deletions

View File

@@ -2,6 +2,7 @@
#include <exception>
#include <string>
#include <sstream>
namespace YAML
{
@@ -62,6 +63,11 @@ namespace YAML
Exception(int line_, int column_, const std::string& msg_)
: line(line_), column(column_), msg(msg_) {}
virtual ~Exception() throw() {}
virtual const char *what() const throw() {
std::stringstream output;
output << "Error at line " << line+1 << ", column " << column+1 << ": " << msg;
return output.str().c_str();
}
int line, column;
std::string msg;

View File

@@ -15,7 +15,7 @@ int main(int argc, char **argv)
YAML::Node doc;
parser.GetNextDocument(doc);
} catch(const YAML::Exception& e) {
std::cerr << "Error at line " << e.line << ", col " << e.column << ": " << e.msg << "\n";
std::cerr << e.what() << "\n";
}
return 0;
}