javacard.framework
Class APDUException

java.lang.Object
  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by java.lang.RuntimeException
              extended by javacard.framework.CardRuntimeException
                  extended by javacard.framework.APDUException

@TransactionType(value=NOT_SUPPORTED)
public class APDUException
extends CardRuntimeException

APDUException represents an APDU related exception.

Direct instances of this exception class are not bound to any context and can be passed between contexts without any restrictions. Objects created and returned by the methods of this class are owned by the caller. In particular, a call to the Throwable.toString() returns a String instance bound to the owner context of the caller.

See Runtime Environment Specification for the Java Card Platform, Connected Edition, chapter 7 for details regarding transfer of ownership.

See Also:
APDU

Field Summary
static short BAD_LENGTH
          This reason code is used by the APDU.setOutgoingLength() method to indicate APDUException.BAD_LENGTH if len is negative, or greater than 256 and the currently selected applet does not implement the javacardx.apdu.ExtendedLength interface, or if non BLOCK CHAINED data transfer is requested and len is greater than (IFSD-2), where IFSD is the Outgoing Block Size.
static short BUFFER_BOUNDS
          This reason code is used by the APDU.sendBytes() method to indicate that the sum of buffer offset parameter and the byte length parameter exceeds the APDU buffer size.
static short ILLEGAL_USE
          This APDUException reason code indicates that the method should not be invoked based on the current state of the APDU.
static short IO_ERROR
          This reason code indicates that an unrecoverable error occurred in the I/O transmission layer.
static short NO_T0_GETRESPONSE
          This reason code indicates that during T=0 protocol, the CAD did not return a GET RESPONSE command in response to a <61xx> response status to send additional data.
static short NO_T0_REISSUE
          This reason code indicates that during T=0 protocol, the CAD did not reissue the same APDU command with the corrected length in response to a <6Cxx> response status to request command reissue with the specified length.
static short T1_IFD_ABORT
          This reason code indicates that during T=1 protocol, the CAD returned an ABORT S-Block command and aborted the data transfer.
 
Constructor Summary
APDUException(short reason)
          Constructs an APDUException.
 
Method Summary
static void throwIt(short reason)
          Deprecated. Deprecated for extended applets and web applications on the Connected Edition of the Java Card 3 Platform. Use constructor instead.
 
Methods inherited from class javacard.framework.CardRuntimeException
getReason, setReason
 
Methods inherited from class java.lang.Throwable
getMessage, printStackTrace, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ILLEGAL_USE

public static final short ILLEGAL_USE
This APDUException reason code indicates that the method should not be invoked based on the current state of the APDU.

See Also:
Constant Field Values

BUFFER_BOUNDS

public static final short BUFFER_BOUNDS
This reason code is used by the APDU.sendBytes() method to indicate that the sum of buffer offset parameter and the byte length parameter exceeds the APDU buffer size.

See Also:
Constant Field Values

BAD_LENGTH

public static final short BAD_LENGTH
This reason code is used by the APDU.setOutgoingLength() method to indicate
  • APDUException.BAD_LENGTH if len is negative, or greater than 256 and the currently selected applet does not implement the javacardx.apdu.ExtendedLength interface, or if non BLOCK CHAINED data transfer is requested and len is greater than (IFSD-2), where IFSD is the Outgoing Block Size. The -2 accounts for the status bytes in T=1.

    See Also:
    Constant Field Values

  • IO_ERROR

    public static final short IO_ERROR
    This reason code indicates that an unrecoverable error occurred in the I/O transmission layer.

    See Also:
    Constant Field Values

    NO_T0_GETRESPONSE

    public static final short NO_T0_GETRESPONSE
    This reason code indicates that during T=0 protocol, the CAD did not return a GET RESPONSE command in response to a <61xx> response status to send additional data. The outgoing transfer has been aborted. No more data or status can be sent to the CAD in this Applet.process() method.

    See Also:
    Constant Field Values

    T1_IFD_ABORT

    public static final short T1_IFD_ABORT
    This reason code indicates that during T=1 protocol, the CAD returned an ABORT S-Block command and aborted the data transfer. The incoming or outgoing transfer has been aborted. No more data can be received from the CAD. No more data or status can be sent to the CAD in this Applet.process() method.

    See Also:
    Constant Field Values

    NO_T0_REISSUE

    public static final short NO_T0_REISSUE
    This reason code indicates that during T=0 protocol, the CAD did not reissue the same APDU command with the corrected length in response to a <6Cxx> response status to request command reissue with the specified length. The outgoing transfer has been aborted. No more data or status can be sent to the CAD in this Applet.process() method.

    See Also:
    Constant Field Values
    Constructor Detail

    APDUException

    public APDUException(short reason)
    Constructs an APDUException.

    Parameters:
    reason - the reason for the exception.
    Method Detail

    throwIt

    public static void throwIt(short reason)
    Deprecated. Deprecated for extended applets and web applications on the Connected Edition of the Java Card 3 Platform. Use constructor instead.

    Throws a new instance of APDUException with the specified reason.

    Note that a new instance is thrown upon each call to this method.

    This method is for backward compatibility with Java Card 2.x and for interoperability of classic applet applications with the Java Card 3 Classic edition.

    Parameters:
    reason - the reason for the exception
    Throws:
    APDUException - always


    Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.