Classes | Namespaces | Macros | Functions
Exception.hpp File Reference

Detailed Description

Exceptions for all of GNSSTK, including location information

Definition in file Exception.hpp.

#include <cstdlib>
#include <iostream>
#include <vector>
#include <string>
Include dependency graph for Exception.hpp:

Go to the source code of this file.

Classes

class  gnsstk::Exception
 
class  gnsstk::ExceptionLocation
 
class  gnsstk::StopIterator
 Class for StopIterator Python exception, used by Vector.i. More...
 

Namespaces

 gnsstk
 For Sinex::InputHistory.
 

Macros

#define FILE_LOCATION   gnsstk::ExceptionLocation(__FILE__, "", __LINE__)
 
#define GNSSTK_ASSERT(CONDITION)
 Provide an "ASSERT" type macro. More...
 
#define GNSSTK_RETHROW(exc)   { exc.addLocation(FILE_LOCATION); throw; }
 
#define GNSSTK_THROW(exc)   { exc.addLocation(FILE_LOCATION); throw exc; }
 
#define NEW_EXCEPTION_CLASS(child, parent)
 

Functions

 gnsstk::NEW_EXCEPTION_CLASS (AccessError, Exception)
 
 gnsstk::NEW_EXCEPTION_CLASS (AssertionFailure, Exception)
 
 gnsstk::NEW_EXCEPTION_CLASS (ConfigurationException, Exception)
 
 gnsstk::NEW_EXCEPTION_CLASS (EndOfFile, gnsstk::FFStreamError)
 
 gnsstk::NEW_EXCEPTION_CLASS (FFStreamError, gnsstk::Exception)
 
 gnsstk::NEW_EXCEPTION_CLASS (FileMissingException, Exception)
 
 gnsstk::NEW_EXCEPTION_CLASS (IndexOutOfBoundsException, Exception)
 
 gnsstk::NEW_EXCEPTION_CLASS (InvalidArgumentException, Exception)
 
 gnsstk::NEW_EXCEPTION_CLASS (InvalidParameter, Exception)
 
 gnsstk::NEW_EXCEPTION_CLASS (InvalidRequest, Exception)
 
 gnsstk::NEW_EXCEPTION_CLASS (NullPointerException, Exception)
 
 gnsstk::NEW_EXCEPTION_CLASS (ObjectNotFound, AccessError)
 
 gnsstk::NEW_EXCEPTION_CLASS (OutOfMemory, Exception)
 
 gnsstk::NEW_EXCEPTION_CLASS (SystemPipeException, Exception)
 
 gnsstk::NEW_EXCEPTION_CLASS (SystemQueueException, Exception)
 
 gnsstk::NEW_EXCEPTION_CLASS (SystemSemaphoreException, Exception)
 
 gnsstk::NEW_EXCEPTION_CLASS (UnimplementedException, Exception)
 

Macro Definition Documentation

◆ FILE_LOCATION

#define FILE_LOCATION   gnsstk::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 352 of file Exception.hpp.

◆ GNSSTK_ASSERT

#define GNSSTK_ASSERT (   CONDITION)
Value:
if (!(CONDITION)) { \
gnsstk::AssertionFailure exc("Assertion failed: " #CONDITION); \
GNSSTK_THROW(exc); \
}

Provide an "ASSERT" type macro.

Definition at line 373 of file Exception.hpp.



gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:42