sprintf(buf, "line %d", _line);
out += buf;
if (_column != -1)
- out += ",\n";
+ out += ", ";
}
if (_column != -1) {
sprintf(buf, "column %d", _column);
return _message;
}
+const string
+sg_throwable::getFormattedMessage () const
+{
+ return getMessage();
+}
+
void
sg_throwable::setMessage (const string &message)
{
}
-sg_throwable *
-sg_throwable::clone () const
-{
- return new sg_throwable(getMessage(), getOrigin());
-}
-
-
-
\f
////////////////////////////////////////////////////////////////////////
// Implementation of sg_error class.
{
}
-sg_error *
-sg_error::clone () const
-{
- return new sg_error(getMessage(), getOrigin());
-}
-
\f
////////////////////////////////////////////////////////////////////////
{
}
-sg_exception *
-sg_exception::clone () const
-{
- return new sg_exception(getMessage(), getOrigin());
-}
-
\f
////////////////////////////////////////////////////////////////////////
{
}
+const string
+sg_io_exception::getFormattedMessage () const
+{
+ string ret = getMessage();
+ ret += "\n at ";
+ ret += getLocation().asString();
+ return ret;
+}
+
const sg_location &
sg_io_exception::getLocation () const
{
_location = location;
}
-sg_io_exception *
-sg_io_exception::clone () const
-{
- return new sg_io_exception(getMessage(), getLocation(), getOrigin());
-}
-
-
\f
////////////////////////////////////////////////////////////////////////
_text = text;
}
-sg_format_exception *
-sg_format_exception::clone () const
-{
- return new sg_format_exception(getMessage(), getText(), getOrigin());
-}
-
\f
////////////////////////////////////////////////////////////////////////
{
}
-sg_range_exception *
-sg_range_exception::clone () const
-{
- return new sg_range_exception(getMessage(), getOrigin());
-}
-
// end of exception.cxx