Class APDUException
APDUException represents an APDU related
exception.
The APDU class throws Java Card runtime environment-owned
instances of APDUException.
Java Card runtime environment-owned instances of exception classes are temporary Java Card runtime environment Entry Point Objects and can be accessed from any applet context. References to these temporary objects cannot be stored in class variables or instance variables or array components. See Runtime Environment Specification, Java Card Platform, Classic Edition, section 6.2.1 for details.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final shortThis reason code is used by theAPDU.setOutgoingLength()method to indicateAPDUException.BAD_LENGTHiflenis negative, or greater than 256 and the currently selected applet does not implement thejavacardx.apdu.ExtendedLengthinterface, or if non BLOCK CHAINED data transfer is requested andlenis greater than (IFSD-2), where IFSD is the Outgoing Block Size.static final shortThis reason code is used by theAPDU.sendBytes()method to indicate that the sum of buffer offset parameter and the byte length parameter exceeds the APDU buffer size.static final shortThis APDUException reason code indicates that the method should not be invoked based on the current state of the APDU.static final shortThis reason code indicates that an unrecoverable error occurred in the I/O transmission layer.static final shortThis 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 final shortThis 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 final shortThis reason code indicates that during T=1 protocol, the CAD returned an ABORT S-Block command and aborted the data transfer. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidthrowIt(short reason) Throws the Java Card runtime environment-owned instance ofAPDUExceptionwith the specified reason.Methods inherited from class CardRuntimeException
getReason, setReason
-
Field Details
-
ILLEGAL_USE
public static final short ILLEGAL_USEThis APDUException reason code indicates that the method should not be invoked based on the current state of the APDU.- See Also:
-
BUFFER_BOUNDS
public static final short BUFFER_BOUNDSThis reason code is used by theAPDU.sendBytes()method to indicate that the sum of buffer offset parameter and the byte length parameter exceeds the APDU buffer size.- See Also:
-
BAD_LENGTH
public static final short BAD_LENGTHThis reason code is used by theAPDU.setOutgoingLength()method to indicateAPDUException.BAD_LENGTHiflenis negative, or greater than 256 and the currently selected applet does not implement thejavacardx.apdu.ExtendedLengthinterface, or if non BLOCK CHAINED data transfer is requested andlenis greater than (IFSD-2), where IFSD is the Outgoing Block Size. The -2 accounts for the status bytes in T=1.
- See Also:
-
IO_ERROR
public static final short IO_ERRORThis reason code indicates that an unrecoverable error occurred in the I/O transmission layer.- See Also:
-
NO_T0_GETRESPONSE
public static final short NO_T0_GETRESPONSEThis 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 thisApplet.process()method.- See Also:
-
T1_IFD_ABORT
public static final short T1_IFD_ABORTThis 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 thisApplet.process()method.- See Also:
-
NO_T0_REISSUE
public static final short NO_T0_REISSUEThis 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 thisApplet.process()method.- See Also:
-
-
Constructor Details
-
APDUException
public APDUException(short reason) Constructs an APDUException. To conserve on resources usethrowIt()to use the Java Card runtime environment-owned instance of this class.- Parameters:
reason- the reason for the exception.
-
-
Method Details
-
throwIt
public static void throwIt(short reason) Throws the Java Card runtime environment-owned instance ofAPDUExceptionwith the specified reason.Java Card runtime environment-owned instances of exception classes are temporary Java Card runtime environment Entry Point Objects and can be accessed from any applet context. References to these temporary objects cannot be stored in class variables or instance variables or array components. See Runtime Environment Specification, Java Card Platform, Classic Edition, section 6.2.1 for details.
- Parameters:
reason- the reason for the exception- Throws:
APDUException- always
-