DynExp
Highly flexible laboratory automation for dynamically changing experiments.
Exception.h File Reference

Provides exception type and error definitions used by DynExp. More...

Go to the source code of this file.

Classes

class  Util::Exception
 DynExp exceptions are derived from this class. It contains basic information about the cause of the exception as well as a stacktrace. More...
 
class  Util::ForwardedException
 Class to forward an Exception instance from one DynExp::Object instance to another DynExp::Object instance. Refer to class DynExp::LinkedObjectWrapperContainer. More...
 
class  Util::InvalidArgException
 An invalid argument like a null pointer has been passed to a function. More...
 
class  Util::InvalidStateException
 An operation cannot be performed currently since the related object is in an invalid state like an error state. More...
 
class  Util::InvalidDataException
 Data to operate on is invalid for a specific purpose. This indicates a corrupted data structure or function calls not returning data in the expected format. More...
 
class  Util::InvalidCallException
 Thrown when a function call is not allowed to a specific thread in a multi-threading context. More...
 
class  Util::UnderflowException
 Thrown when a numeric operation would result in an underflow (e.g. due to incompatible data types) More...
 
class  Util::OverflowException
 Thrown when a numeric operation would result in an overflow (e.g. due to incompatible data types) More...
 
class  Util::OutOfRangeException
 Thrown when an argument passed to a function exceeds the valid range. More...
 
class  Util::EmptyException
 Thrown when a list is expected to contain entries and when a query results in an empty answer or an empty argument has been passed to a function, or a stored list is empty. More...
 
class  Util::NotFoundException
 Thrown when a requested ressource does not exist. More...
 
class  Util::TypeErrorException
 Thrown when an attempt was made to convert two incompatible types into each other. More...
 
class  Util::TimeoutException
 Thrown when an operation timed out before it could be completed, especially used for locking shared data in a multi-threading context. More...
 
class  Util::ThreadDidNotRespondException
 Thrown in a multi-threading context when an answer is expected from another thread an when the communication timed out. More...
 
class  Util::NotAvailableException
 Thrown when some operation or feature is temporarily or permanently not available. More...
 
class  Util::NotImplementedException
 Thrown when a requested feature is either under development and thus not implemented yet or when a specific instrument does not support certain operation. More...
 
class  Util::FileIOErrorException
 Thrown when reading from or writing to a file failed. More...
 
class  Util::LinkedObjectNotLockedException
 Thrown when RunnableInstance::LockObject() has not been called on an object link parameter to establish the relation between the object using another object and the used object. More...
 
class  Util::InvalidObjectLinkException
 Thrown when RunnableInstance cannot lock an object to be used by another object due to an invalid link between the objects. This happens when the used object the link points to has been removed from the project. More...
 
class  Util::ServiceFailedException
 Denotes that e.g. a remote gRPC service failed. More...
 

Namespaces

 Util
 DynExp's Util namespace contains commonly used functions and templates as well as extensions to Qt and its widgets.
 
 Util::DynExpErrorCodes
 

Enumerations

enum class  Util::ErrorType { Util::Info , Util::Warning , Util::Error , Util::Fatal }
 DynExp's error types More...
 
enum  Util::DynExpErrorCodes::DynExpErrorCodes : int {
  Util::DynExpErrorCodes::NoError = 0 , Util::DynExpErrorCodes::GeneralError = -1 , Util::DynExpErrorCodes::InvalidArg = -2 , Util::DynExpErrorCodes::InvalidState = -3 ,
  Util::DynExpErrorCodes::InvalidData = -4 , Util::DynExpErrorCodes::InvalidCall = -5 , Util::DynExpErrorCodes::Underflow = -6 , Util::DynExpErrorCodes::Overflow = -7 ,
  Util::DynExpErrorCodes::OutOfRange = -8 , Util::DynExpErrorCodes::Empty = -9 , Util::DynExpErrorCodes::NotFound = -10 , Util::DynExpErrorCodes::TypeError = -11 ,
  Util::DynExpErrorCodes::Timeout = -12 , Util::DynExpErrorCodes::ThreadDidNotRespond = -13 , Util::DynExpErrorCodes::NotAvailable = -14 , Util::DynExpErrorCodes::NotImplemented = -15 ,
  Util::DynExpErrorCodes::FileIOError = -16 , Util::DynExpErrorCodes::LinkedObjectNotLocked = -17 , Util::DynExpErrorCodes::InvalidObjectLink = -18 , Util::DynExpErrorCodes::ServiceFailed = -19
}
 DynExp's error codes More...
 

Functions

std::ostream & Util::operator<< (std::ostream &stream, const Exception &e)
 Writes a DynExp exception in a user-readable way to a stream. More...
 
void Util::ForwardException (std::exception_ptr e)
 Wraps the exception passed to the function in a ForwardedException and throws the ForwardedException. Does nothing if e is not an exception. More...
 

Detailed Description

Provides exception type and error definitions used by DynExp.

Definition in file Exception.h.