java.lang.IllegalArgumentException: содержимое должно быть предварительно отсортировано
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)
Я получил это исключение при запуске SAX Parser, который должен читать большие порции данных XML. Данные хранятся в хэштри. Примерно через 15 минут работы это исключение было найдено. Что это значит?
1 ответ
Это означает: где-то в программе есть int, который достиг своего максимального значения. Целые числа имеют максимальное значение 2 147 483 647. Когда они достигают этого значения, они возвращаются к своему минимальному значению - -2 147 483 648. Вероятно, произошло то, что в программе есть цикл, который постоянно увеличивает целое число. Когда программа работает достаточно долго, целое число достигает максимального значения и возвращается к минимальному значению. Программа не ожидает этого, поэтому выдает ошибку.