« Uncaught Exception: String Index Out of Range 31 » sur BlackBerry AT&T : causes et fixes
Cette exception Java signifie qu'une app a tenté d'accéder à l'index caractère 31 dans une chaîne plus courte que 32 caractères (indices 0–31). Courant sur BlackBerry OS legacy (Java ME).
Causes typiques
- Hypothèse index codée en dur : Code attend chaîne longueur fixe (ex. parsing SMS/USSD) mais reçoit input plus court.
- Chaîne null/vide : Variable non initialisée ou API a retourné vide.
- Données app corrompues / mauvaise MAJ.
- Mismatch OS/app après upgrade OS.
Fixes (par ordre)
- Identifiez l'app : Écran erreur montre souvent nom module (ex.
net_rim_bb_messaging). Notez-le. - Mettez à jour l'app : BlackBerry World (legacy) ou site vendeur. Si branded opérateur, check portail app opérateur.
- Supprimez et réinstallez l'app.
- Videz données app : Options → Applications → [App] → Modifier permissions → Vider données (si dispo).
- Redémarrez l'appareil : Retrait batterie (legacy) ou power off/on.
- Effacement handheld (dernier recours) : Options → Sécurité → Effacement sécurité. Sauvegardez d'abord (BlackBerry Desktop Software / BlackBerry Link).
- Rechargement OS : Si persistant across apps, rechargez OS via BlackBerry Desktop Software / autoloader.
Si sur BB10 / Android (Priv, série KEY)
- Mêmes étapes via Réglages → Apps → [App] → Stockage → Vider cache/données.
- MAJ via Google Play / BlackBerry World.
- Reset usine si systémique.
Quand contacter le support
- Erreur persiste après wipe/reload.
- App système core (Téléphone, Messages, Navigateur) crash.
- Appareil appartient à l'entreprise (BES/UEM) — contactez IT.
BlackBerry OS legacy est EOL. Envisagez migration si appareil critique.
