为什么stacktrace会指向Java中的右大括号?
如果在Java中的右大括号上出现为什么stacktrace会指向Java中的右大括号?,java,debugging,Java,Debugging,如果在Java中的右大括号上出现NullPointerException,这意味着什么?比如说,对: SavedState(){ this.iZone=DateTimeParserBucket.this.iZone; this.iOffset=DateTimeParserBucket.this.iOffset; this.iSavedFields=DateTimeParserBucket.this.iSavedFields; this.isavedfieldscont=DateTimeParse
NullPointerException
,这意味着什么?比如说,对:
SavedState(){
this.iZone=DateTimeParserBucket.this.iZone;
this.iOffset=DateTimeParserBucket.this.iOffset;
this.iSavedFields=DateTimeParserBucket.this.iSavedFields;
this.isavedfieldscont=DateTimeParserBucket.this.isavedfieldscont;
}如果源代码和正在运行的代码不同步,则它会指向大括号的唯一原因(除非事情非常糟糕)。清理、重新运行并再次查看堆栈跟踪
在本例中,由于stacktrace来自joda time内部,因此您可能正在查找库的错误版本的源代码。确保您正在查看版本2.9.5
的源代码。它指向大括号的唯一原因是源代码和正在运行的代码不同步。清理、重新运行并再次查看堆栈跟踪
在本例中,由于stacktrace来自joda time内部,因此您可能正在查找库的错误版本的源代码。确保您正在查看版本2.9.5
的源代码,或者可能涉及到一些生成的代码,例如在使用Lombok时。或者可能涉及到一些生成的代码,例如在使用Lombok时。
SavedState() {
this.iZone = DateTimeParserBucket.this.iZone;
this.iOffset = DateTimeParserBucket.this.iOffset;
this.iSavedFields = DateTimeParserBucket.this.iSavedFields;
this.iSavedFieldsCount = DateTimeParserBucket.this.iSavedFieldsCount;
} <-- Stack trace says NPE is thrown here
...
Caused by: java.lang.NullPointerException
at org.joda.time.format.DateTimeParserBucket$SavedState.<init>(DateTimeParserBucket.java:521) ~[joda-time-2.9.5.jar:2.9.5]
...