在我们的 Silk4J 测试环境中,我们使用命名约定以便方便地访问窗口。例如我可以
SapWindow pt61 = sap.performTransaction("PT61");
在 SAP 中执行 PT61 事务,它将返回一个窗口,该窗口具有wndPT61
Silk4J 对象映射中的标识符。
有时会发生窗口尚未映射的情况。在这种情况下,Silk4J 会导致RuntimeException
. 不幸的是,RuntimeException
到处都在使用,也就是说,它并不具体。
有没有办法检查对象映射是否存在标识符,以便我可以检测到丢失的标识符并抛出更具体的(自定义)异常来解释该怎么做?
我想做这样的事情:
if (!desktop.isValidIdentifier("wndPT61")) {
throw new Exception("According to our naming convention ... etc.");
}
我努力了:
- 我看过所有的方法
Desktop
,但恕我直言,不存在这样的方法。该exists()
方法已经抛出RuntimeException
. - 我看过所有的方法
Agent
,但恕我直言,不存在这样的方法。 - 我认为这种方法不应该在其他课程中可用,因为桌面和代理是可以进行搜索的最高级别。
- 当然我可以捕捉到
RuntimeException
(这就是我目前所做的),但它不是很可靠(因为这样的异常可能有其他原因)而且我不想依赖异常消息。