MismatchedQuote class

From m204wiki
(Redirected from MismatchedQuote exception)
Jump to navigation Jump to search

A MismatchedQuote exception indicates that an unmatched quote character was found while scanning for a token with the StringTokenizer class. For example:

%t is object stringTokenizer %t = 'foo"bar':stringTokenizer %t:quotes = '"' printText {~=%t:nextToken} printText {~=%t:nextToken}

The result of the above fragment is:

%t:nextToken=foo %t:nextToken= *** 1 CANCELLING REQUEST: MSIR.0750: Class StringTokenizer, function NextToken: MismatchedQuote exception: String contains a mismatched quote ...

To produce a MismatchedQuote exception yourself, you typically use a SOUL Throw statement with a MismatchedQuote 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 a MismatchedQuote exception:

throw %(mismatchedQuote):new

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 MismatchedQuote class is available as of Sirius Mods version 7.7.

The MismatchedQuote methods

The following are the available MismatchedQuote class methods.

MethodDescription
NewCreate a new MismatchedQuote object

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

New constructor

Create a new MismatchedQuote object (MismatchedQuote class)

[Introduced in Sirius Mods 7.7]

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

Syntax

%mismatchedQuote = [%(MismatchedQuote):]New

Syntax terms

%mismatchedQuote A reference to an instance of an MismatchedQuote object.
[%(MismatchedQuote):] The class name in parentheses denotes a Constructor. See Usage notes, below, for more information about invoking an MismatchedQuote 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:

    %mismatchExc = new %mismatchExc = %(MismatchedQuote):new %mismatchExc = %mismatchExc:new