Issue 10666: Which exceptions can be raised under which circumstances? (data-distribution-rtf) Source: PrismTech (Mr. Erik Hendriks, erik.hendriks(at)prismtech.com) Nature: Clarification Severity: Summary: Problem: The description of the write operation does not specify which exceptions can be thrown. Not that the IDL description on page 3-57 also states the ReadOnlyMode exception can be raised, but that exception no longer exists! So fix this as well. See issue XXX and XXX for mention of the TimeOut and InvalidObjects exceptions. Solution: Replace: o Write objects (write). If the CacheAccess::cache_usage allows write operation, those objects can be modified and/or new objects created for that access and eventually all the performed modifications written for publications. With: o Write objects (write). If the CacheAccess::cache_usage allows write operation, those objects can be modified and/or new objects created for that access and eventually all the performed modifications written for publications. A PreconditionNotMet is raised if the CacheAccess::cache_usage does not allow the write operation (i.e. usage is READ_ONLY). A TimeOut exception is raised if one of the underlying DCPS DataWriter entities timed out. A DCPSError is raised if the write failed due to an error in the DCPS layer. In section 3.2.1.2 on page 3-57 regarding the IDL description of the write() operation of the interface CacheAccess replace: void write () raises ( ReadOnlyMode, DCPSError); With: void write () raises (DCPSError, PreconditionNotMet, InvalidObjects, TimeOut); Resolution: Revised Text: Actions taken: February 12, 2007: received issue Discussion: Clarify which exceptions can be raised under which circumstances in the write operation (section 3.1.6.3.3, page 3-21) End of Annotations:===== s is issue # 10666 Which exceptions can be raised under which circumstances? Clarify which exceptions can be raised under which circumstances in the write operation (section 3.1.6.3.3, page 3-21) Problem: The description of the write operation does not specify which exceptions can be thrown. Not that the IDL description on page 3-57 also states the ReadOnlyMode exception can be raised, but that exception no longer exists! So fix this as well. See issue XXX and XXX for mention of the TimeOut and InvalidObjects exceptions. Solution: Replace: o Write objects (write). If the CacheAccess::cache_usage allows write operation, those objects can be modified and/or new objects created for that access and eventually all the performed modifications written for publications. With: o Write objects (write). If the CacheAccess::cache_usage allows write operation, those objects can be modified and/or new objects created for that access and eventually all the performed modifications written for publications. A PreconditionNotMet is raised if the CacheAccess::cache_usage does not allow the write operation (i.e. usage is READ_ONLY). A TimeOut exception is raised if one of the underlying DCPS DataWriter entities timed out. A DCPSError is raised if the write failed due to an error in the DCPS layer. In section 3.2.1.2 on page 3-57 regarding the IDL description of the write() operation of the interface CacheAccess replace: void write () raises ( ReadOnlyMode, DCPSError); With: void write () raises (DCPSError, PreconditionNotMet, InvalidObjects, TimeOut);