0
java.lang.IllegalArgumentException: Contents must be presorted - added value -2146647068 is less than preceding value 2147447602
    at org.netbeans.core.output2.IntList.add(IntList.java:76)
    at org.netbeans.core.output2.AbstractLines.lineUpdated(AbstractLines.java:764)
    at org.netbeans.core.output2.OutWriter.write(OutWriter.java:216)
    at org.netbeans.core.output2.OutWriter.doWrite(OutWriter.java:453)
    at org.netbeans.core.output2.OutWriter.println(OutWriter.java:488)
    at org.netbeans.core.output2.OutWriter.print(OutWriter.java:526)
    at org.netbeans.core.output2.NbIO$IOColorLinesImpl.println(NbIO.java:494)
    at org.openide.windows.IOColorLines.println(IOColorLines.java:88)
    at org.apache.tools.ant.module.run.StandardLogger.formatColoredMessageWithTime(StandardLogger.java:353)
    at org.apache.tools.ant.module.run.StandardLogger.buildFinished(StandardLogger.java:318)
[catch] at org.apache.tools.ant.module.bridge.impl.NbBuildLogger.buildFinished(NbBuildLogger.java:440)
    at org.apache.tools.ant.Project.fireBuildFinished(Project.java:2093)
    at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:290)
    at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:541)
    at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153)

我在运行需要读取大量 XML 数据的 SAX 解析器时收到此异常。数据存储在哈希树中。运行大约 15 分钟后,发现了这个异常。这是什么意思?

4

1 回答 1

2

这意味着:在程序的某个地方有一个达到最大值的 int。整数的最大值为 2,147,483,647。当它们达到这个值时,它们会循环回到它们的最小值 -2,147,483,648。可能发生的情况是程序中有一个循环不断增加一个整数。当程序运行足够长的时间时,整数达到最大值并循环回最小值。程序没有预料到这一点,所以它会抛出一个错误。

于 2013-10-13T12:44:41.307 回答