JsonCircularReference class: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (misc cleanup)
m (remove paragraph)
 
Line 3: Line 3:
<var>JsonCircularReference</var> [[Exceptions|exceptions]] are thrown by the <var>[[Stringify (Json function)|Stringify]]</var> function in the <var>[[Json class|Json]]</var> class if the <var>Json</var> object leads to a [[Json class#Circular references|circular reference]].   
<var>JsonCircularReference</var> [[Exceptions|exceptions]] are thrown by the <var>[[Stringify (Json function)|Stringify]]</var> function in the <var>[[Json class|Json]]</var> class if the <var>Json</var> object leads to a [[Json class#Circular references|circular reference]].   


To produce a <var>JsonCircularReference</var> exception for yourself, you typically use a <var class="product">SOUL</var> <var>[[Exceptions#Throwing exceptions|Throw]]</var> statement with a <var>JsonCircularReference</var> <var>[[#New constructor|New]]</var> 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 a <var>JsonCircularReference</var> exception:
<p class="code">throw %(JsonCircularReference):new
</p>
Remember that you catch an exception with the <var>[[Exceptions#Try and Catch|Catch]]</var> statement. If an exception condition occurs outside a <var>Catch</var> for it, the request is canceled.
The <var>JsonCircularReference</var> class, like the <var>Json</var> class, is available as of <var class="product">Model 204</var> 7.6.
The <var>JsonCircularReference</var> class, like the <var>Json</var> class, is available as of <var class="product">Model 204</var> 7.6.



Latest revision as of 00:44, 13 May 2015


JsonCircularReference exceptions are thrown by the Stringify function in the Json class if the Json object leads to a circular reference.

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

The JsonCircularReference methods

The following are the available JsonCircularReference class methods.

MethodDescription
NewCreate a new JsonCircularReference object

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

New constructor

Create a new JsonCircularReference object (JsonCircularReference class)

This Constructor generates an instance of a JsonCircularReference exception. The New method format is as follows:

Syntax

%jsonCircularReference = [%(JsonCircularReference):]New

Syntax terms

%JsonCircularReference A reference to an instance of a JsonCircularReference object.
[%(JsonCircularReference):] The class name in parentheses denotes a Constructor.

Usage notes

The following example catches a circular reference exception and prints the string where the circular reference occurs.

b %jsonCircRefError is object JsonCircularReference %jsa is object json %jsb is object json %jsc is object json %jsa = array('a') %jsb = array('b') %jsc = array('c') %jsa:add(%jsb) %jsb:add(%jsc) %jsc:add(%jsa) try print %jsa:stringify catch JsonCircularReference to %jsonCircRefError print 'Caught Json Circular Reference Error' print %jsa:tostring end try end

Running this example results in:

Caught Json Circular Reference Error ["a",["b",["c",[Circular]]]]