RunSubsystemErrorProcedure (System property): Difference between revisions

From m204wiki
Jump to navigation Jump to search
(Automatically generated page update)
Line 8: Line 8:
<tr><th>%boolean</th><td><var>Boolean</var> value that indicates whether running the subsystem error procedure or whether running the [[FACTDEB parameter|FACTDEB procedure]] before running the subsystem error procedure.</td></tr>
<tr><th>%boolean</th><td><var>Boolean</var> value that indicates whether running the subsystem error procedure or whether running the [[FACTDEB parameter|FACTDEB procedure]] before running the subsystem error procedure.</td></tr>


<tr><th><var>%(System)</var></th>
<tr><th><var class="nobr">%(System)</var></th>
<td>The class name in parentheses denotes a shared method. <var>RunSubsystemErrorProcedure</var> can also be invoked via a <var>System</var> object variable, which may be <var>Null</var>.</td></tr>
<td>The class name in parentheses denotes a shared method. <var>RunSubsystemErrorProcedure</var> can also be invoked via a <var>System</var> object variable, which may be <var>Null</var>.</td></tr>
</table>
</table>
Line 16: Line 16:
<li>While a settable property, this property can never be set to <var>False</var>. This is because the only way the property can become False is when an error in a subsystem procedure would cause the subsystem error procedure to be drive.</li>
<li>While a settable property, this property can never be set to <var>False</var>. This is because the only way the property can become False is when an error in a subsystem procedure would cause the subsystem error procedure to be drive.</li>
<li>This method is most useful in a [[FACTDEB parameter|FACTDEB procedure]]. It can be used to determine if the subsystem error procedure is about to be driven and to prevent that from happening (by setting the property to False).</li>
<li>This method is most useful in a [[FACTDEB parameter|FACTDEB procedure]]. It can be used to determine if the subsystem error procedure is about to be driven and to prevent that from happening (by setting the property to False).</li>
<li>The reason for this method is because APSY does not set the subsystem communications global to the error procedure's name before invoking it. So, when a FACTDEB procedure is invoked, that procedure would have no deterministic way of knowing that an error has occurred and that the error procedure is about to be invoked. In fact, in general, a FACTDEB procedure should always check the <var>%(system):runSubsystemErrorProcedure</var> property before checking the value of the communications global (next procedure global).</li>
<li>The reason for this method is because APSY does not set the subsystem communications global to the error procedure's name before invoking it. So, when a FACTDEB procedure is invoked, that procedure would have no deterministic way of knowing that an error has occurred and that the error procedure is about to be invoked. In fact, in general, a FACTDEB procedure should always check the <var class="nobr">%(system):runSubsystemErrorProcedure</var> property before checking the value of the communications global (next procedure global).</li>
</ul>
</ul>
==Examples==
==Examples==
The following code, presumably in a FACTDEB procedure, checks the <var>%(system):runSubsystemErrorProcedure</var> porperty and, if set, simply stops, allowing the error procedure to be run:
The following code, presumably in a FACTDEB procedure, checks the <var class="nobr">%(system):runSubsystemErrorProcedure</var> porperty and, if set, simply stops, allowing the error procedure to be run:
<p class="code">if %(system):runSubsystemErrorProcedure then
<p class="code">if %(system):runSubsystemErrorProcedure then
   stop
   stop

Revision as of 00:26, 16 February 2014

Is subsystem error procedure to be run (System class)

[Introduced in Sirius Mods 8.1]


This property allows a FACTDEB procedure to determine if the subsystem error procedure is about to be run and possibly also prevent that procedure from being run.

Syntax

%currentBoolean = %(System):RunSubsystemErrorProcedure %(System):RunSubsystemErrorProcedure = newBoolean

Syntax terms

%booleanBoolean value that indicates whether running the subsystem error procedure or whether running the FACTDEB procedure before running the subsystem error procedure.
%(System) The class name in parentheses denotes a shared method. RunSubsystemErrorProcedure can also be invoked via a System object variable, which may be Null.

Usage notes

  • While a settable property, this property can never be set to False. This is because the only way the property can become False is when an error in a subsystem procedure would cause the subsystem error procedure to be drive.
  • This method is most useful in a FACTDEB procedure. It can be used to determine if the subsystem error procedure is about to be driven and to prevent that from happening (by setting the property to False).
  • The reason for this method is because APSY does not set the subsystem communications global to the error procedure's name before invoking it. So, when a FACTDEB procedure is invoked, that procedure would have no deterministic way of knowing that an error has occurred and that the error procedure is about to be invoked. In fact, in general, a FACTDEB procedure should always check the %(system):runSubsystemErrorProcedure property before checking the value of the communications global (next procedure global).

Examples

The following code, presumably in a FACTDEB procedure, checks the %(system):runSubsystemErrorProcedure porperty and, if set, simply stops, allowing the error procedure to be run:

if %(system):runSubsystemErrorProcedure then stop end if

See also