CoordinatorException class: Difference between revisions
Line 91: | Line 91: | ||
</td></tr></table> | </td></tr></table> | ||
< | <h2 id="reason">CoordinatorExceptionReason enumeration</h2> | ||
A <var>CoordinatorExceptionReason</var> [[Enumerations|enumeration]] may have one of the following values: | A <var>CoordinatorExceptionReason</var> [[Enumerations|enumeration]] may have one of the following values: | ||
<table class="thJustBold"> | <table class="thJustBold"> |
Latest revision as of 05:27, 15 January 2020
The CoordinatorException exception class indicates that a two-phase commit coordinator has returned an error.
The NewGlobal function and SetGlobal of the Transaction system classes are method that can throw a CoordinatorException exception. For more information about catching a thrown exception, see Try and Catch.
The following example shows a Try and Catch of a CoordinatorException exception.
begin %xid is string len 64 %coex is object coordinatorException try %xid = %(transaction):NewGlobal("Silly example transaction") catch coordinatorException to %coex printText NewGlobal failed: printText {%coex:reason}: {%coex:description} stop end try ... end
Note: It is necessary to declare the exception object, but instantiating it is taken care of by the Transaction class NewGlobal method.
The CoordinatorException methods
The following are the available CoordinatorException class methods.
Method | Description |
---|---|
Description | Brief description of the exception |
New | Create a new CoordinatorException object |
Reason | Enumerated cause of the exception |
The methods in the class are described in the subsections that follow. In addition:
- Notation conventions for methods has information about the conventions followed.
- CoordinatorException methods syntax is a single page that contains the syntax diagrams of all the methods in the class.
Description property
Brief description of the exception (CoordinatorException class)
This ReadOnly property returns a string that describes the error.
Syntax
%string = coordinatorException:Description
Syntax terms
%string | This describes the error. |
---|---|
coordinatorException | A reference to an instance of a CoordinatorException object. |
New constructor
Create a new CoordinatorException object (CoordinatorException class)
This Constructor generates an instance of a CoordinatorException exception. As shown below, the optional argument of the New method is a setting of the DaemonOutput property.
Syntax
%coordinatorException = [%(CoordinatorException):]New( Reason= coordinatorExceptionReason, - [Description= string])
Syntax terms
%coordinatorException | A reference to an instance of a CoordinatorException object. |
---|---|
[%(CoordinatorException):] | The class name in parentheses denotes a Constructor. |
CoordinatorExceptionReason | This optional, but name required, parameter specifies a CoordinatorExceptionReason value that indicates the error. |
Description | This optional, but name required, parameter specifies a string that describes the error. |
Reason property
Enumerated cause of the exception (CoordinatorException class)
This ReadOnly property returns a CoordinatorExceptionReason enumeration value that indicates the error.
Syntax
%coordinatorExceptionReason = coordinatorException:Reason
Syntax terms
%soordinatorExceptionReason | Enumeration value that indicates the error. |
---|---|
coordinatorException | A reference to an instance of a CoordinatorException object. |
CoordinatorExceptionReason enumeration
A CoordinatorExceptionReason enumeration may have one of the following values:
ConnectionLost | The connection with the coordinator was lost after it was established. This could be indicative of a compatibility issue between Model 204 and the coordinator. |
---|---|
InsufficientVirtualStorage | There was insufficient virtual storage to allocate the blocks needed to connect to the coordinator. |
InvalidResponse | an invalid response to a request was received from the coordinator. This could be indicative of a compatibility issue between Model 204 and the coordinator. |
MaximumConnectionsExceeded | The maximum authorized Janus or Janus Two-Phase Commit connections are in use. |
NameLookupError | The host name specified in an ADDCOORDINATOR could not be resolved because of a DNS error. |
NameUnresolved | The host name specified in an ADDCOORDINATOR could not be located via DNS. |
NoneAvailable | There are either no 2PC ports defined or the first started 2PC port has no coordinators added to it. |
NoPortConnectionsAvailable | The maximum connections specified for the 2PC port are all in use. |
TlsHandshakeError | The TLS handshake with the coordinator specified in an ADDCOORDINATOR failed. |
Unreachable | It was not possible to connect to the coordinator host/port specified in an ADDCOORDINATOR. |