RunSubsystemErrorProcedure (System property): Difference between revisions

From m204wiki
Jump to navigation Jump to search
Line 26: Line 26:


<p class="code">if %(system):runSubsystemErrorProcedure then
<p class="code">if %(system):runSubsystemErrorProcedure then
   stop
   stop
 
end if
</p>
</p>


==See also==
==See also==
{{Template:System:RunSubsystemErrorProcedure footer}}
{{Template:System:RunSubsystemErrorProcedure footer}}

Revision as of 21:01, 20 November 2012

Is subsystem error procedure to be run (System class)

[Introduced in Sirius Mods 8.1]


This page is under construction.

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