New (Journal constructor): Difference between revisions

From m204wiki
Jump to navigation Jump to search
mNo edit summary
Line 20: Line 20:
</p>
</p>
<li>In <var class="product">Sirius Mods</var> version 7.7,
<li>In <var class="product">Sirius Mods</var> version 7.7,
the New method returns a Null object if the journal is not present or is not a
the <var>New</var> method returns a <var>Null</var> object if the journal is not present or is not a
valid journal.
valid journal.
In <var class="product">Sirius Mods</var> version 7.8 and later, New also throws a BadJournal exception
In <var class="product">Sirius Mods</var> version 7.8 and later, <var>New</var> also throws a <var>[[BadJournal class|BadJournal]]</var> exception on an error,
([[??]] refid=bdjrnl.) on an error,
and it will not return a <var>Null</var> <var>Journal</var> object without throwing an exception.
and it will not return a Null Journal object without throwing an exception.


Consequently, invocations of New in <var class="product">Sirius Mods</var> version 7.7
Consequently, invocations of <var>New</var> in <var class="product">Sirius Mods</var> version 7.7
need to include a test with an On Error unit and a test for a Null result.
need to include a test with an <var>On Error</var> unit and a test for a <var>Null</var> result.
<li>In <var class="product">Sirius Mods</var> version 7.7,
<li>In <var class="product">Sirius Mods</var> version 7.7,
New does not require the input journal to be from the same ''Model 204'' release as
<var>New</var> does not require the input journal to be from the same <var class="product">Model 204</var> release as
the Online.
the Online.
However, if the releases are different, an [[AppendJournalData (Stringlist function)|AppendJournalData]] call
However, if the releases are different, an <var>[[AppendJournalData (Stringlist function)|AppendJournalData]]</var> call
that references this journal
that references this journal
will silently fail to add any data to its output Stringlist.
will silently fail to add any data to its output <var>Stringlist</var>.
As of <var class="product">Sirius Mods</var> version 7.8, an attempt to instantiate a journal object variable
As of <var class="product">Sirius Mods</var> version 7.8, an attempt to instantiate a journal object variable
that references a journal from a different version than the Online produces
that references a journal from a different version than the Online produces
a BadJournal exception.
a <var>BadJournal</var> exception.
</ul>
</ul>
==See also==
==See also==
{{Template:Journal:New footer}}
{{Template:Journal:New footer}}

Revision as of 19:14, 27 July 2011

Create a new Journal object (Journal class)

Syntax

%journal = [%(Journal):]New( string) Throws BadJournal

Syntax terms

%journal A reference to an instance of a Journal object.
%(Journal) The optional class name in parentheses denotes a Constructor. See "Usage notes", below, for more information about invoking a Journal Constructor.
string A string that is the DDname of the journal dataset or the name of the stream that is to be accessed.

Usage notes

  • As described in "Using New or other Constructors", New can be invoked with no object, with an explicit class name, or with an object variable in the class, even if that object is Null:

    %journal = new %journal = %(Journal):new %journal = %journal:new

  • In Sirius Mods version 7.7, the New method returns a Null object if the journal is not present or is not a valid journal. In Sirius Mods version 7.8 and later, New also throws a BadJournal exception on an error, and it will not return a Null Journal object without throwing an exception. Consequently, invocations of New in Sirius Mods version 7.7 need to include a test with an On Error unit and a test for a Null result.
  • In Sirius Mods version 7.7, New does not require the input journal to be from the same Model 204 release as the Online. However, if the releases are different, an AppendJournalData call that references this journal will silently fail to add any data to its output Stringlist. As of Sirius Mods version 7.8, an attempt to instantiate a journal object variable that references a journal from a different version than the Online produces a BadJournal exception.

See also