libdap  Updated for version 3.20.6
libdap4 is an implementation of OPeNDAP's DAP protocol.
libdap::InternalErr Class Reference

A class for software fault reporting. More...

#include <InternalErr.h>

Inheritance diagram for libdap::InternalErr:
Inheritance graph

Public Member Functions

ErrorCode get_error_code () const
 
std::string get_error_message () const
 
std::string get_file () const
 
int get_line () const
 
bool OK ()
 Is the InternalErr object valid? More...
 
bool OK () const
 Is the Error object valid? More...
 
InternalErroperator= (const InternalErr &rhs)
 
bool parse (FILE *fp)
 Parse an Error object. More...
 
void print (FILE *out) const
 
void print (std::ostream &out) const
 
void set_error_code (ErrorCode ec=undefined_error)
 
void set_error_message (std::string msg="")
 
void set_file (std::string f)
 
void set_line (int l)
 
virtual const char * what () const throw ()
 The pointer is valid only for the lifetime of the Error instance. jhrg 9/22/20. More...
 
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 string &msg)
 
 InternalErr (const string &file, const int &line, const string &msg)
 
 InternalErr ()
 
 InternalErr (const InternalErr &copy_from)
 

Protected Attributes

ErrorCode _error_code
 
std::string _error_message
 
std::string d_file
 
int d_line
 

Detailed Description

A class for software fault reporting.

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 64 of file InternalErr.h.

Member Function Documentation

◆ get_error_code()

ErrorCode libdap::Error::get_error_code ( ) const
inherited

Get the ErrorCode for this instance.

Definition at line 249 of file Error.cc.

◆ get_error_message()

string libdap::Error::get_error_message ( ) const
inherited

Return the current error message.

Definition at line 278 of file Error.cc.

◆ OK() [1/2]

bool libdap::InternalErr::OK ( )

Is the InternalErr object valid?

Returns
TRUE if the object is valid, FALSE otherwise.

Definition at line 102 of file InternalErr.cc.

◆ OK() [2/2]

bool libdap::Error::OK ( ) const
inherited

Is the Error object valid?

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 135 of file Error.cc.

◆ parse()

bool libdap::Error::parse ( FILE *  fp)
inherited

Parse an Error object.

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
fpA valid file pointer to an input stream.
Returns
TRUE if no error was detected, FALSE otherwise.

Definition at line 158 of file Error.cc.

◆ print() [1/2]

void libdap::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
outA pointer to the output stream on which the Error object is to be rendered.

Definition at line 200 of file Error.cc.

◆ print() [2/2]

void libdap::Error::print ( std::ostream &  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
strmA reference to the output stream on which the Error object is to be rendered.

Definition at line 229 of file Error.cc.

◆ set_error_code()

void libdap::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
ecThe new ErrorCode value.

Definition at line 262 of file Error.cc.

◆ set_error_message()

void libdap::Error::set_error_message ( std::string  msg = "")
inherited

Set the error message.

Definition at line 287 of file Error.cc.

◆ what()

virtual const char* libdap::Error::what ( ) const
throw (
)
inlinevirtualinherited

The pointer is valid only for the lifetime of the Error instance. jhrg 9/22/20.

Definition at line 127 of file Error.h.


The documentation for this class was generated from the following files: