为了账号安全,请及时绑定邮箱和手机立即绑定

Java 代码执行难题——跳行而不抛出异常

Java 代码执行难题——跳行而不抛出异常

holdtom 2023-12-13 14:50:43
我使用调试器来跟踪问题。我对代码是如何执行的感到非常困惑。请参阅附图。本来189行执行完后,就跳过了194行、196行等后面的行,跳到了198行。我怀疑189行可能有异常,所以用try-catch包裹起来。不过189行执行完后,还是跳到了198行。以下是原始代码(https://github.com/de-luxe/burstcoin-jminer/blob/master/src/main/java/burstcoin/jminer/core/round/Round.java),没有 try-catch (第 188 行 - 第 195 行是利息)。调试器在配置“useOpenCl=false”下运行。如果“useOpenCl=true”,则程序可以正常运行,即第189行之后的行(原代码中的第188行)将在支持OpenCl的机器上正常执行。显然,我试图在不使用 OpenCl 的情况下部署它,但由于这个问题,我无法做到这一点。我从事 Java 编程多年,这对我来说真的很有趣,代码如何通过跳过一些行来执行而不在任何地方抛出异常。  // start reader    int scoopNumber = calcScoopNumber(event.getBlockNumber(), event.getGenerationSignature());    reader.read(previousBlockNumber, blockNumber, generationSignature, scoopNumber, lastBestCommittedDeadline, networkQuality);    // ui event    publisher.publishEvent(new RoundStartedEvent(restart, blockNumber, scoopNumber, plots.getSize(), targetDeadline, baseTarget, generationSignature));    network.checkLastWinner(blockNumber);
查看完整描述

1 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

也许你需要catch(Throwable th)而不是(Exception e)



查看完整回答
反对 回复 2023-12-13
  • 1 回答
  • 0 关注
  • 127 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信