Exception.hpp File Reference


Detailed Description

Exceptions for all of GPSTK, including location information.

Definition in file Exception.hpp.

#include <cstdlib>
#include <iostream>
#include <vector>
#include <string>

Include dependency graph for Exception.hpp:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace  gpstk

Classes

class  ExceptionLocation
 A class for recording locations (in the source code) of exceptions being thrown. More...
class  Exception
 The Exception class is the base class from which all exception objects thrown in the library are derived. More...
class  InvalidParameter
 Thrown when a function is given a parameter value that it invalid. More...
class  InvalidRequest
 Thrown if a function can not satisfy a request. More...
class  AssertionFailure
 Thrown when a required condition in a function is not met. More...
class  AccessError
 Thrown if a function makes a request of the OS that can't be satisfied. More...
class  IndexOutOfBoundsException
 Attempts to access an "array" or other element that doesn't exist. More...
class  InvalidArgumentException
 A function was passed an invalid argument. More...
class  ConfigurationException
 Application's configuration is invalid. More...
class  FileMissingException
 Attempted to open a file that doesn't exist. More...
class  SystemSemaphoreException
 A problem using a system semaphore. More...
class  SystemPipeException
 A problem using a system pipe. More...
class  SystemQueueException
 A problem using a system queue. More...
class  OutOfMemory
 Unable to allocate memory. More...
class  ObjectNotFound
 Operation failed because it was unable to locate the requested obj. More...
class  NullPointerException
 Attempted to access a null pointer. More...
class  UnimplementedException
 Attempted to access a unimplemented function. More...

Defines

#define FILE_LOCATION   gpstk::ExceptionLocation(__FILE__, "", __LINE__)
 Just a comment for the wary.
#define GPSTK_THROW(exc)   { exc.addLocation(FILE_LOCATION); throw exc; }
 A macro for adding location when throwing an gpstk::Exception.
#define GPSTK_RETHROW(exc)   { exc.addLocation(FILE_LOCATION); throw; }
 A macro for adding location when rethrowing an gpstk::Exception.
#define NEW_EXCEPTION_CLASS(child, parent)
 A macro for quickly defining a new exception class that inherits from an gpstk::Exception derived class.
#define FILE_LOCATION   gpstk::ExceptionLocation(__FILE__, "", __LINE__)
 Just a comment for the wary.
#define GPSTK_THROW(exc)   { exc.addLocation(FILE_LOCATION); throw exc; }
 A macro for adding location when throwing an gpstk::Exception.
#define GPSTK_RETHROW(exc)   { exc.addLocation(FILE_LOCATION); throw; }
 A macro for adding location when rethrowing an gpstk::Exception.
#define NEW_EXCEPTION_CLASS(child, parent)
 A macro for quickly defining a new exception class that inherits from an gpstk::Exception derived class.


Define Documentation

#define FILE_LOCATION   gpstk::ExceptionLocation(__FILE__, "", __LINE__)
 

Just a comment for the wary.

These following macros are quite useful. They just don't work under gcc 2.96/linux. If you can fix them I would be quite greatful but I am not holding my breath. For now, I am just manually putting the code where it needs to be. The problem seems to be with the __FILE__, __FUNCTION__, LINE__ being defined in a macro that is in a .hpp file as opposed to the .cpp file where the code gets used. When you do it you get a segfault. See the exceptiontest.cpp code in the base/test directory.

Definition at line 374 of file Exception.hpp.

#define FILE_LOCATION   gpstk::ExceptionLocation(__FILE__, "", __LINE__)
 

Just a comment for the wary.

These following macros are quite useful. They just don't work under gcc 2.96/linux. If you can fix them I would be quite greatful but I am not holding my breath. For now, I am just manually putting the code where it needs to be. The problem seems to be with the __FILE__, __FUNCTION__, LINE__ being defined in a macro that is in a .hpp file as opposed to the .cpp file where the code gets used. When you do it you get a segfault. See the exceptiontest.cpp code in the base/test directory.

Definition at line 374 of file Exception.hpp.

Referenced by gpstk::operator<<(), FFStream::tryFFStreamGet(), and FFStream::tryFFStreamPut().


Generated on Sun May 26 03:31:19 2013 for GPS ToolKit Software Library by  doxygen 1.3.9.1