libSBML C++ API
libSBML 5.8.0 C++ API
|
Log of errors and other events encountered while processing an XML file or data stream.
This class of objects is defined by libSBML only and has no direct equivalent in terms of SBML components. This class is not prescribed by the SBML specifications, although it is used to implement features defined in SBML.
The error log is a list. The XML layer of libSBML maintains an error log associated with a given XML document or data stream. When an operation results in an error, or when there is something wrong with the XML content, the problem is reported as an XMLError object stored in the XMLErrorLog list. Potential problems range from low-level issues (such as the inability to open a file) to XML syntax errors (such as mismatched tags or other problems).
A typical approach for using this error log is to first use getNumErrors() to inquire how many XMLError object instances it contains, and then to iterate over the list of objects one at a time using getError(unsigned int n) const. Indexing in the list begins at 0.
In normal circumstances, programs using libSBML will actually obtain an SBMLErrorLog rather than an XMLErrorLog. The former is subclassed from XMLErrorLog and simply wraps commands for working with SBMLError objects rather than the low-level XMLError objects. Classes such as SBMLDocument use the higher-level SBMLErrorLog.
Public Member Functions | |
void | clearLog () |
Deletes all errors from this log. More... | |
const XMLError * | getError (unsigned int n) const |
Returns the nth XMLError object in this log. More... | |
unsigned int | getNumErrors () const |
Returns the number of errors that have been logged. More... | |
void | printErrors (std::ostream &stream=std::cerr) const |
Prints all the errors or warnings stored in this error log. More... | |
std::string | toString () const |
Writes all errors contained in this log to a string and returns it. More... | |
void XMLErrorLog::clearLog | ( | ) |
Deletes all errors from this log.
const XMLError * XMLErrorLog::getError | ( | unsigned int | n | ) | const |
Returns the nth XMLError object in this log.
Index n
is counted from 0. Callers should first inquire about the number of items in the log by using the method getNumErrors(). Attempts to use an error index number that exceeds the actual number of errors in the log will result in a NULL
being returned.
n | the index number of the error to retrieve (with 0 being the first error). |
NULL
if n
is greater than or equal to getNumErrors().unsigned int XMLErrorLog::getNumErrors | ( | ) | const |
Returns the number of errors that have been logged.
To retrieve individual errors from the log, callers may use getError().
void XMLErrorLog::printErrors | ( | std::ostream & | stream = std::cerr | ) | const |
Prints all the errors or warnings stored in this error log.
It prints the text to the stream given by the optional parameter stream
. If no parameter is given, it prints the output to the standard error stream.
If no errors have occurred, i.e., getNumErrors() == 0
, no output will be sent to the stream.
The format of the output is:
N error(s): line NNN: (id) message
stream | the ostream or ostringstream object indicating where the output should be printed. |
string XMLErrorLog::toString | ( | ) | const |
Writes all errors contained in this log to a string and returns it.
This method uses printErrors() to format the diagnostic messages. Please consult that method for information about the organization of the messages in the string returned by this method.