InternalErr Class Reference

A class for software fault reporting. More...

#include <InternalErr.h>

Inheritance diagram for InternalErr:

Inheritance graph
[legend]
Collaboration diagram for InternalErr:

Collaboration graph
[legend]

List of all members.

Public Member Functions

ErrorCode get_error_code () const
string get_error_message () const
bool OK () const
 Is the Error object valid?
bool OK ()
 Is the InternalErr object valid?
bool parse (FILE *fp)
 Parse an Error object.
void print (ostream &out) const
void print (FILE *out) const
void set_error_code (ErrorCode ec=undefined_error)
void set_error_message (string msg="")
virtual ~InternalErr ()
Constructors
Constructors for the Error object

These constructors always set the error code to internal_error.

Note that there is no way to specify an error correction program for an internal error.

 InternalErr (const InternalErr &copy_from)
 InternalErr ()
 InternalErr (const string &file, const int &line, const string &msg)
 InternalErr (const string &msg)

Protected Attributes

ErrorCode _error_code
string _error_message


Detailed Description

The InternalErr class is used to signal that somewhere inside libdap a software fault was found. This class wraps the message text in some boiler plate that asks the error be reported to us (tech support).

NB: This class Adds some text to the message and might, in the future, hold information not also held in Error. However, all Error objects thrown on the server-side of libdap that cannot be resolved (and that's all of them for now, 5/3/99 jhrg) will be sent to the client-side using Error objects. That is, the information recorded in an InternalErr object will be sent by calling the print(...) mfunc of Error.

Author:
jhrg

Definition at line 63 of file InternalErr.h.


Constructor & Destructor Documentation

InternalErr::InternalErr ( const string &  msg  ) 

Definition at line 57 of file InternalErr.cc.

References Error::_error_code, Error::_error_message, and internal_error.

InternalErr::InternalErr ( const string &  file,
const int &  line,
const string &  msg 
)

Definition at line 69 of file InternalErr.cc.

References Error::_error_code, Error::_error_message, append_long_to_string(), and internal_error.

Here is the call graph for this function:

InternalErr::InternalErr (  ) 

Definition at line 52 of file InternalErr.cc.

References Error::_error_code, and internal_error.

InternalErr::InternalErr ( const InternalErr copy_from  ) 

Definition at line 92 of file InternalErr.cc.

InternalErr::~InternalErr (  )  [virtual]

Definition at line 96 of file InternalErr.cc.


Member Function Documentation

ErrorCode Error::get_error_code (  )  const [inherited]

Get the ErrorCode for this instance.

Definition at line 248 of file Error.cc.

References Error::_error_code, and Error::OK().

Here is the call graph for this function:

string Error::get_error_message (  )  const [inherited]

Return the current error message.

Definition at line 277 of file Error.cc.

References Error::_error_message, and Error::OK().

Referenced by main(), AISMerge::merge(), and Error::parse().

Here is the call graph for this function:

bool Error::OK (  )  const [inherited]

Use this function to determine whether an Error object is valid. To be a valid, an Error object must either be: 1) empty or contain a message and a code.

Returns:
TRUE if the object is valid, FALSE otherwise.

Definition at line 134 of file Error.cc.

References Error::_error_code, Error::_error_message, DBG, and undefined_error.

Referenced by Error::get_error_code(), Error::get_error_message(), OK(), Error::operator=(), Error::parse(), and Error::print().

bool InternalErr::OK (  ) 

Returns:
TRUE if the object is valid, FALSE otherwise.

Definition at line 103 of file InternalErr.cc.

References Error::OK().

Here is the call graph for this function:

bool Error::parse ( FILE *  fp  )  [inherited]

Given an input stream (FILE *) fp, parse an Error object from stream. Values for fields of the Error object are parsed and this is set accordingly. This is how a client program receives an error object from a server.

Parameters:
fp A valid file pointer to an input stream.
Returns:
TRUE if no error was detected, FALSE otherwise.

Definition at line 157 of file Error.cc.

References Error_buffer(), Error_delete_buffer(), Error_switch_to_buffer(), Errorparse(), Error::get_error_message(), Error::OK(), and parser_arg::status().

Referenced by Connect::request_das(), Connect::request_das_url(), Connect::request_dds(), Connect::request_dds_url(), Connect::request_ddx(), and Connect::request_ddx_url().

Here is the call graph for this function:

void Error::print ( ostream &  strm  )  const [inherited]

Creates a printable representation of the Error object. It is suitable for framing, and also for printing and sending over a network.

The printed representation produced by this function can be parsed by the parse() member function. Thus parse and print form a symmetrical pair that can be used to send and receive an Error object over the network in a MIME document.

Parameters:
out A reference to the output stream on which the Error object is to be rendered.

Definition at line 228 of file Error.cc.

References Error::_error_code, Error::_error_message, and Error::OK().

Here is the call graph for this function:

void Error::print ( FILE *  out  )  const [inherited]

Creates a printable representation of the Error object. It is suitable for framing, and also for printing and sending over a network.

The printed representation produced by this function can be parsed by the parse() member function. Thus parse and print form a symmetrical pair that can be used to send and receive an Error object over the network in a MIME document.

Parameters:
out A pointer to the output stream on which the Error object is to be rendered.

Definition at line 199 of file Error.cc.

References Error::_error_code, Error::_error_message, and Error::OK().

Referenced by AlarmHandler::handle_signal().

Here is the call graph for this function:

void Error::set_error_code ( ErrorCode  ec = undefined_error  )  [inherited]

Set the ErrorCode. If the current error message has not been set, use ec to set the error message. The resulting error message string is the same as the ErrorCode name. If ec is not within the range of values for an OPeNDAP ErrorCode, the error message is left unchanged.

Parameters:
ec The new ErrorCode value.

Definition at line 261 of file Error.cc.

References Error::_error_code, Error::_error_message, cannot_read_file, and undefined_error.

void Error::set_error_message ( string  msg = ""  )  [inherited]

Set the error message.

Definition at line 286 of file Error.cc.

References Error::_error_message.


Member Data Documentation

ErrorCode Error::_error_code [protected, inherited]

Definition at line 91 of file Error.h.

Referenced by Error::get_error_code(), InternalErr(), Error::OK(), Error::operator=(), Error::print(), ResponseTooBigErr::ResponseTooBigErr(), Error::set_error_code(), and SignalHandlerRegisteredErr::SignalHandlerRegisteredErr().

string Error::_error_message [protected, inherited]

Definition at line 92 of file Error.h.

Referenced by Error::get_error_message(), InternalErr(), Error::OK(), Error::operator=(), Error::print(), ResponseTooBigErr::ResponseTooBigErr(), Error::set_error_code(), Error::set_error_message(), and SignalHandlerRegisteredErr::SignalHandlerRegisteredErr().


The documentation for this class was generated from the following files:
Generated on Wed Jan 2 04:16:44 2008 for libdap++ by  doxygen 1.5.4