InvalidBerData class

From m204wiki
Jump to navigation Jump to search

The InvalidBerData exception class validates whether the data being processed by the called method conforms to the BER (Basic Encoding Rules) protocol. BER data is base64-encoded binary data; BER rules are a superset of DER (Distinguished Encoding Rules) rules.

The InvalidBerData class has properties that indicate the position and description of the non-conforming data. There are currently no standardized error codes.

An InvalidBerData exception can be thrown by any of the DER-to-XmlDoc methods.

To produce an InvalidBerData exception for yourself, you typically use a User Language Throw statement calling the InvalidBerData New constructor:

throw %(InvalidBerData):new(position=13, description='did not get expected tag')

For an outline of how you might use an exception in a function of your own, see this Get method example.

The methods of the InvalidBerData exception class are described below.

This class is available as of Sirius Mods Version 8.0.


The InvalidBerData methods

The following are the available InvalidBerData class methods.

MethodDescription
DescriptionDescription of error
NewCreate a new InvalidBerData object
PositionPosition where error encountered

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

Description property

Description of error (InvalidBerData class)

[Introduced in Sirius Mods 8.0]

This ReadOnly property returns a description of the data error.

Syntax

%string = invalidBerData:Description

Syntax terms

%number This numeric value is the line in the data being validated where a non-PEM-conforming character was found.
invalidBerData A reference to an instance of an InvalidBerData object.

New constructor

Create a new InvalidBerData object (InvalidBerData class)

[Introduced in Sirius Mods 8.0]

This method generates an instance of an InvalidBerData exception. The New method format is as follows:

Syntax

%invalidBerData = [%(InvalidBerData):]New( Position= number, - Description= string)

Syntax terms

%invalidBerData A reference to an instance of a InvalidBerData object.
%(InvalidBerData)The class name in parentheses denotes a Constructor. See Usage notes, below, for more information about invoking a InvalidBerData Constructor.
Position This name required parameter: Position, specifies the numeric value (number) for the position to be assigned to the InvalidBerData exception object's Position property when a data error is encountered.
Description This name required parameter: Description, is the string, containing a brief description of the exception, that is assigned to the InvalidBerData exception object's Description property when a data error is encountered.

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:

    %invalidBer = new(position=1, description='unexpected junk after end of BER data') %invalidBer = %(InvalidBerData):new(position=1, description='did not get expected tag') %invalidBer = %invalidBer:new(position=1, description='unexpected junk after end of BER data')

Position property

Position where error encountered (InvalidBerData class)

[Introduced in Sirius Mods 8.0]

This ReadOnly property returns the position in the (expected) base64-encoded string where a non-BER-conforming character was found.

Syntax

%number = invalidBerData:Position

Syntax terms

%number This numeric value is the position in the base64 string (in the line identified by the value of Line) where a non-BER-conforming character was found.
invalidBerData A reference to an instance of an InvalidBerData object.