RunSubsystemErrorProcedure (System property): Difference between revisions
Jump to navigation
Jump to search
m (→Examples) |
mNo edit summary |
||
Line 1: | Line 1: | ||
{{Template:System:RunSubsystemErrorProcedure subtitle}} | {{Template:System:RunSubsystemErrorProcedure subtitle}} | ||
This | This property allows a [[FACTDEB parameter|FACTDEB procedure]] to determine if the subsystem error procedure is about to be run and possibly also prevent that procedure from being run. | ||
==Syntax== | ==Syntax== | ||
{{Template:System:RunSubsystemErrorProcedure syntax}} | {{Template:System:RunSubsystemErrorProcedure syntax}} | ||
Line 11: | Line 11: | ||
</table> | </table> | ||
=Usage notes== | |||
<ul> | <ul> | ||
<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>%(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>%(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 | ||
end if | end if | ||
</p> | </p> | ||
==See also== | ==See also== | ||
{{Template:System:RunSubsystemErrorProcedure footer}} | {{Template:System:RunSubsystemErrorProcedure footer}} |
Revision as of 21:03, 20 November 2012
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
%boolean | Boolean 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