InvalidJsonType class

From m204wiki
Revision as of 19:28, 17 February 2015 by Alex (talk | contribs) (Created page with "<!-- InvalidJsonType class --> Json objects simulate JavaScript untyped variables. However, many Json functions only make sense for specific underlying Json dat...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Json objects simulate JavaScript untyped variables. However, many Json functions only make sense for specific underlying Json data. For example, the Add function only makes sense if the underlying json object is an Array. If a function applied to a Json object is invalid for the underlying object, an InvalidJsonType exception is thrown.

To create an InvalidjsonType exception yourself, you typically use a SOUL Throw statement with an InvalidJsonTyoe New constructor. This statement must be issued from within a method, and it can only be caught by the code that calls the method. For example, the following statement throws an InvalidJsonType exception:

throw %(invalidJsonType):new(type=array, method="MyJsonMethod")

Remember that you catch an exception with the Catch statement; if an exception condition occurs outside a Catch for it, the request is cancelled.

The InvalidJsonType class, like the Json class is available as of Model 204 7.6.

The InvalidJsonTypes methods

The following are the available InvalidJsonType class methods.

MethodDescription
MethodNameType of object for invalid method
NewCreate a new InvalidJsonType object
TypeType of object for invalid method

The methods in the class are described in the subsections that follow. In addition:


New constructor

Create a new InvalidJsonType object (InvalidJsonType class)

This Constructor generates an instance of an InvalidGZipData exception. The New method format follows:

Syntax

%invalidJsonType = [%(InvalidJsonType):]New( Type= jsonType, MethodName= string)

Syntax terms

%invalidJsonType A reference to an instance of an InvalidJsonType object.
[%(InvalidGZipData):] The class name in parentheses denotes a Constructor. See "Usage notes", below, for more information about invoking an InvalidGZipData Constructor.

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:

    %invalid = new %invalid = %(InvalidGZipData):new %invalid = %invalid:new