mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-09 12:41:17 +00:00
(Finally) overrode Exception::what()\n
This commit is contained in:
@@ -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;
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user