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
 Get the error code.
string get_error_message () const
 Get the error message.
bool OK () const
 Class invariant.
bool OK ()
 Is the InternalErr object valid?
bool parse (FILE *fp)
 Deserialize object from the wire.
void print (FILE *out) const
 Print the Error object on the given output stream.
void set_error_code (ErrorCode ec=undefined_error)
 Set the error code.
void set_error_message (string msg="")
 Set the error message.
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
char * _program
 deprecated; don't use
ProgramType _program_type
 deprecated; don't use

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 262 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 299 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 152 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 175 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 ( 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 217 of file Error.cc.

References Error::_error_code, Error::_error_message, Error::_program, Error::_program_type, Error::OK(), and undefined_prog_type.

Referenced by AlarmHandler::handle_signal().

Here is the call graph for this function:

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

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

Set the error message.

Definition at line 308 of file Error.cc.

References Error::_error_message.


Member Data Documentation

ErrorCode Error::_error_code [protected, inherited]

Definition at line 98 of file Error.h.

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

string Error::_error_message [protected, inherited]

Definition at line 99 of file Error.h.

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

char* Error::_program [protected, inherited]

Definition at line 101 of file Error.h.

Referenced by Error::Error(), Error::operator=(), Error::print(), and Error::~Error().

ProgramType Error::_program_type [protected, inherited]

Definition at line 100 of file Error.h.

Referenced by Error::operator=(), and Error::print().


The documentation for this class was generated from the following files:
Generated on Wed Jun 27 12:58:06 2007 for libdap++ by  doxygen 1.4.7