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 <exception>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <sstream>
|
||||||
|
|
||||||
namespace YAML
|
namespace YAML
|
||||||
{
|
{
|
||||||
@@ -62,6 +63,11 @@ namespace YAML
|
|||||||
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_) {}
|
||||||
virtual ~Exception() throw() {}
|
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;
|
int line, column;
|
||||||
std::string msg;
|
std::string msg;
|
||||||
|
@@ -15,7 +15,7 @@ int main(int argc, char **argv)
|
|||||||
YAML::Node doc;
|
YAML::Node doc;
|
||||||
parser.GetNextDocument(doc);
|
parser.GetNextDocument(doc);
|
||||||
} catch(const YAML::Exception& e) {
|
} 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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user