CERN -> IPT Group -> FrameMaker at CERN
Information Service User's Guide

3.2 IS Exceptions hierarchy

All C++ exceptions in IS package are declared in the daq::is nested namespaces. IS exceptions can be printed to the standard C++ streams by using the standard output operator. In this case the full content of the exception will appear in the output stream, including time stamp, severity, location and the message of the exception. One can also call the overloaded std::exception::what() function to print only the exception's message.

Table 3.1   IS exceptions hierarchy

Base classes

Leaf classes

Description

std::exception

 

C++ standard library exception

 

ers::Issue

 

Abstract base class for all TDAQ exceptions

 

daq::is::Exception

 

Base class for all IS exceptions

 

daq::is::InfoNotCompatible

Local information type does not match the one in the repository. Thrown by the functions which are reading or writing to the IS repository.

daq::is::InfoAlreadyExist

Information with the given name already exists in the IS repository.

daq::is::AlreadySubscribed

Subscription with the given regular expression already exists in this ISInfoReceiver object.

daq::is::InvalidCriteria

Criteria for the subscription or iterator is invalid. In most cases this indicates invalid regular expression which was used for the ISCriteria object.

daq::is::InvalidIterator

An attempt was made to get an information attribute (name, type, value, etc.) using invalid ISInfloIterator object, e.g. the iterator has reached the end of the collection already.

daq::is::InvalidName

Invalid name was given to the IS information object. A valid name must contain at least one dot symbol which separates the IS server name from the information object name.

 

daq::is::NotFound

 

Generic exception which inherits from the daq::is::Exception.

 

daq::is::InfoNotFound

Information does not exist in the IS repository. This exception is thrown by the functions which are updating or reading information from IS.

daq::is::ProviderNotFound

Provider of the given information object does not exist. This exception is thrown by the ISInfo::sendCommand function.

daq::is::SubscriptionNotFound

Can be thrown by the ISInfoReceiver::unsubscribe function if the requested subscription does not exist.


2 July 1998 - WebMaster
Copyright © CERN 1998