【问题标题】:Debug Java Card applets and understand the cause of exception调试Java Card小程序,了解异常原因
【发布时间】:2021-11-03 06:26:21
【问题描述】:

我将开发 java SIM 工具包小程序。 我的困难之一是当我的代码中有异常时,我不知道如何理解异常是什么?

try {
        reg.initMenuEntry(MenuItem1, (short) 0, (short) MenuItem1.length, PRO_CMD_DISPLAY_TEXT, false, (byte) 0, (short) 0);
} catch (Throwable t) {

}

例如在上面的语句中如果发生异常,我不知道如何处理异常并了解异常的原因是什么?

附:捕捉Throwable 是个好主意(而不是例外)?我试图抓住Throwable,因为它本身就是Exception 的父级。

【问题讨论】:

    标签: applet javacard sim-toolkit


    【解决方案1】:

    一些 JavaCard 平台附带调试器,但这主要取决于供应商,因此您必须联系您的供应商/供应商。

    对于一些简单的轻量级调试,您可以捕获 Exception 并将其与文档提供的不同特定异常进行比较,然后抛出特定的 ISOException 错误,如果它崩溃你并不总是得到0x6f00,但你可以为OutofBoundsException抛出0x6f01,为NullPointerException抛出0x6f02等等......

    【讨论】:

    • 问题是在手机运行时发生异常。所以我不知道如何检查错误代码和原因。是否有专门针对此的模拟器或 IDE?
    • 是的,但正如我所说,它主要是特定于供应商的。你能在 shell 中模拟命令吗?
    • @我试过使用 Wojtek,但它不像真正的手机那样工作。它会跳过异常并在手机无法运行某些命令时继续。
    • @VSB 我的两分钱。我使用 jCardSim 或 Oracle 的 JavaCard Development Kit Simulator。当然,您必须避免使用只有您的供应商支持的专有算法
    猜你喜欢
    • 1970-01-01
    • 2015-08-27
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 2020-05-22
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多