12 Error handling and coding

31.1133GPPRelease 8TSUniversal Subscriber Identity Module Application Toolkit (USAT) interpreter byte codes

This chapter describes how the USAT Interpreter shall behave when an error occurs. A table indicating the values for the different error codes is provided.

12.1 Setting of the environment variable "error code"

After having executed a byte code, the USAT Interpreter shall set the value of the environment variable "Error code generated by the last byte code command executed" (’05’) according to the execution result. The possible execution results for a given byte code command are listed in the definition of this byte code command. The values for all possible error codes are listed in the table in clause 12.3.

12.2 User notification of the execution

In each byte code command description, for each possible error code, an action is indicated. This action can be either "continue" or "stop".If the action indicated is "continue", the USAT Interpreter shall process the next byte code without notifying the user.

If the action is "stop", the USAT Interpreter shall notify the user by displaying an error message to the user. For the DISPLAY TEXT USAT command used, the command qualifier options:

  • "wait for use to clear message"

shall be used.

The error messages displayed by the USAT Interpreter

  • shall be able to be modified by the operator at the personalisation stage;
  • shall be able to be different for each error code.

After having displayed this message, for any general result of the terminal response, the USAT Interpreter shall quit.

12.3 Error coding

For the indication of errors occurring during byte code processing error codes listed in the following table are defined. This information can be accessed using the Error Code variable (’05’) in the system information partition.

Type of error

Coding

No error

‘0000’

Syntax error

‘6F01’

Jump to undefined

‘6F02’

Problem in memory management

‘6F03’

Security problem

‘6F04’

Reference to undefined

‘6F05’

Out of range

‘6F06’

User abort

‘6F07’

Execution error

‘6F08’

USAT command failed

‘6F09’

USAT command not allowed

‘6F0A’

USAT Interpreter transmission error

‘6F0B’

Type mismatch

‘6F0C’

General unspecific error

‘6FFF’