• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

"java.lang.NullPointerException" Häää?

Hugo-Habicht

Geocacher
Irgendwie stolpere ich gerade von Fehler zu Felher :)

Dieser tritt beim Spielen auf einem Samsung Galaxy S2, Android 4.0.3 und der WhereYouGo-App 0.6.0 auf:

Code:
9:1:14|48.1223|11.5081|599.9000244140625|5.0|:: java.lang.NullPointerException

stack trace: at cz.matejcik.openwig.m@41844308at @E:/webtempfiles/6131d0ed-357f-4c2a-88d4-6b14cfb0471a/_cartridge-new.enc:4109

9:1:41|48.1223|11.5081|599.9000244140625|5.0|:: STOR: storing game
9:1:42|48.1223|11.5081|599.9000244140625|5.0|:: STOR: store successful

Auf anderen Ebenen (Garmin, OpenWig) läuft es.
Kann der Fehler daran liegen dass ich einer Zahlenvariable einen negativen Wert (-1) zuweise?
Kennt jemand diesen Fehler?

lg und Danke
 

Krolock

Geocacher
Nein, das liegt daran dass ein Java Programm auf eine Variable zugreifen möchte die nicht initialisiert ist.
Code:
String myName = "Krolock";
System.out.println(myName.length());
String myName2 = null;
System.out.println(myName2.length());

Während die ersten beiden Zeilen dafür sorgen, dass 7 ausgegeben wird (Anzahl der Buchstaben), kommt es in der vierten Zeile zu einer NullPointerException, da die Variable myName2 nicht initilisiert ist, also keinen Wert besitzt.

Ich denke nicht, dass es am Cartrigde liegt, sondern ein Fehler im Player (WhereYouGo) ist.
Kannst du die Datei E:/webtempfiles/6131d0ed-357f-4c2a-88d4-6b14cfb0471a/_cartridge-new.enc anhängen. In Zeile 4109 kommt es zu dieser NPE
 
OP
H

Hugo-Habicht

Geocacher
Die "*.enc" Datei ist leider nicht greifbar, da ich beim Testen leider nicht selbst auf ein Android-Gerät zugreifen kann.
Aber mit externer Hilfe konnte ich den kurriosen Fehler eingrenzen. Und zwar tritt er nur auf, wenn ich die Zeichen "/" "!" im Urwigo in einem Kommentarfeld(!) verwende!

Das scheint aber auch stark in Anhängigkeit von anderen Faktoren zu stehen, denn eine eigens erstellte Cartridge, die gerade diesen Fehler simulieren sollte, funktioniert tadellos.

Anscheinend bin ich etwas zu 'freizügig' mit Sonderzeichen wie "<" "/" "!" umgegangen, was ich künftig natürlich unterlassen werde :)

Danke für die Hilfe
 

Krolock

Geocacher
Hast du zufällig eine doppelts / also
Code:
//
verwendet? Das ist nämlich ein Zeilenkommentar in Java.
So wie
Code:
--
in lua
 
Oben