StringIndexOutOfBoundsException

L

Lucius1972

Neues Mitglied
0
Guten Abend,

Folgender Code is teil eines CookieManagers aber bekomme eine exception: java.lang.StringIndexOutOfBoundsException: length=9; regionStart=0; regionLength=-1

Ich sehe den Fehler aber nicht, bitte um Hilfe.

Code:
String headerName=null;
        for (int i=1; (headerName = conn.getHeaderFieldKey(i)) != null; i++) {
            if (headerName.equalsIgnoreCase(SET_COOKIE)) {
                Map cookie = new HashMap();
                StringTokenizer st = new StringTokenizer(conn.getHeaderField(i), COOKIE_VALUE_DELIMITER);

                if (st.hasMoreTokens()) {
                    String token  = st.nextToken();
                    String name = token.substring(0, token.indexOf(NAME_VALUE_SEPARATOR));
                    String value = token.substring(token.indexOf(NAME_VALUE_SEPARATOR) + 1, token.length());
                    domainStore.put(name, cookie);
                    cookie.put(name, value);
                }

                while (st.hasMoreTokens()) {
                    String token  = st.nextToken();
        -------->        cookie.put(token.substring(0, token.indexOf(NAME_VALUE_SEPARATOR)).toLowerCase(),
                            token.substring(token.indexOf(NAME_VALUE_SEPARATOR) + 1, token.length()));
                }
            }
        }
    }
 
Deine Fehlermeldung sagt, dass dein token.indexOf(NAME_VALUE_SEPARATOR) = -1 (=regionEnd) liefert (also: das gesuchte Zeichen ist nicht in deiner Zeichenkette token enthalten).
 
Ich würde sagen, dass der Fehler hier liegt: "token.indexOf(NAME_VALUE_SEPARATOR) + 1".

Am einfachste dürfte es sein, wenn Du ein paar Log Meldungen vorher einbaust.

Javascript:
String token = st.nextToken();
Log.d("TokenTest", "substring0: " + token.indexOf(NAME_VALUE_SEPARATOR));
Log.d("TokenTest", "substring+1: " + token.indexOf(NAME_VALUE_SEPARATOR) +1);
Log.d("TokenTest", "length: " + token.length());
cookie.put...

Wenn Du nun die StringIndexOutOfBounds bekommst, solltest Du die jeweiligen Positionen (indexOf) zum Vergleich haben.
 

Ähnliche Themen

D
Antworten
23
Aufrufe
2.649
Data2006
D
M
Antworten
4
Aufrufe
1.181
swa00
swa00
5
Antworten
0
Aufrufe
1.173
586920
5
Zurück
Oben Unten