dashel  1.3.3
Public Types | Public Member Functions | Public Attributes | Static Protected Member Functions | List of all members
Dashel::DashelException Class Reference

The one size fits all exception for streams. More...

#include <dashel.h>

Inheritance diagram for Dashel::DashelException:

Public Types

enum  Source {
  Unknown, SyncError, InvalidTarget, InvalidOperation,
  ConnectionLost, IOError, ConnectionFailed, EnumerationError,
  PreviousIncomingDataNotRead
}
 The different exception causes. More...
 

Public Member Functions

 DashelException (Source s, int se, const char *reason, Stream *stream=NULL)
 Construct an stream exception with everything. More...
 

Public Attributes

Source source
 The exception cause.
 
int sysError
 The reason as an OS error code.
 
Streamstream
 The stream that caused the exception to be thrown.
 

Static Protected Member Functions

static std::string sourceToString (Source s)
 Return a string description of the source error.
 

Detailed Description

The one size fits all exception for streams.

The reason of the failure is stored in the runtime error, and is returned by what()

Member Enumeration Documentation

The different exception causes.

Enumerator
Unknown 

Well, hopefully never used.

SyncError 

Some synchronisation error.

InvalidTarget 

The target string was bad.

InvalidOperation 

The operation is not valid on this stream.

ConnectionLost 

The connection was lost.

IOError 

Some I/O error.

ConnectionFailed 

The connection could not be established.

EnumerationError 

Some serial enumeration error.

PreviousIncomingDataNotRead 

The incoming data was not read by the Hub subclass.

Constructor & Destructor Documentation

Dashel::DashelException::DashelException ( Source  s,
int  se,
const char *  reason,
Stream stream = NULL 
)

Construct an stream exception with everything.

Parameters
sSource of failure
seSystem error code.
reasonThe logical reason as a human readable string.
streamStream to which exception applies.

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