Autore Topic: Crash dell'app anche se gestiti con try catch  (Letto 558 volte)

Offline DanieleBini

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Crash dell'app anche se gestiti con try catch
« il: 16 Agosto 2011, 17:00:50 CEST »
0
Salve a tutti, non so perché il mio primo post qui è andato perduto (sospetto sia colpa di murphy).

Ho due dubbi / problemi da segnalare.

Punto primo.

Non ho al momento stacktrace o log da inserire perché è un comportamento che strano che ho notato svariate volte.
Alle volte anche se il mio codice è gestito con try catch (e nel catch metto la generalissima "exception" in modo da intercettare tutto) succede che va in crash l'applicazione (qualche api suppongo) e quindi l'applicazione viene terminata.
Ovviamente è un comportamento bizzarro e spiacevole.
Vorrei sapere se è successo anche a voi.

Punto secondo.

Ho ricontrollato due volte tutta l'applicazione ma non ho nessun evento ontouchevent nella mia app. Eppure ho alcune segnalazioni nell'android market di questo tipo:
Codice: [Seleziona]
java.lang.NullPointerException
at android.widget.TextView.onTouchEvent(TextView.java:6896)
at android.view.View.dispatchTouchEvent(View.java:3778)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:885)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:885)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:885)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:885)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:885)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:885)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1709)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1117)
at android.app.Activity.dispatchTouchEvent(Activity.java:2125)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1693)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1802)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:5097)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)

Da cosa può essere dato?

Ps, la mia app è sviluppata con le api 7 platform 2.1

Offline Giovanni D'Addabbo

  • Utente normale
  • ***
  • Post: 163
  • Respect: +8
    • Google+
    • giovannid
    • giovanni.daddabbo
    • magoscuro
    • Mostra profilo
    • Rhubbit.it - Sviluppo app Android/iOs
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Rhubbit srl
  • Sistema operativo:
    Windows/Mac/Linux
Re:Crash dell'app anche se gestiti con try catch
« Risposta #1 il: 16 Agosto 2011, 17:24:41 CEST »
0
curiosità: hai inizializzato tutte le variabili che usi?
una buona prassi è quella di inizializzare tutte le variabili in qualche modo altrimenti potresti avere errori anche non gestiti, così a "sentimento" io cercherei tra le variabili che dichiari prima dei blocchi try catch
spero di esserti stato utile
byeeeee

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
Re:Crash dell'app anche se gestiti con try catch
« Risposta #2 il: 01 Settembre 2011, 17:13:42 CEST »
0
Ciao,
nei log che hai postato, ho notato questo:
Codice: [Seleziona]
java.lang.NullPointerException
at android.widget.TextView.onTouchEvent(TextView.java:6896)

Probabilmente non hai inizializzato qualche oggetto.
Perchè non posti un pò di codice ? ;-)
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato .

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Crash dell'app anche se gestiti con try catch
« Risposta #3 il: 01 Settembre 2011, 20:30:35 CEST »
0
Non stai creando una applicazione java ma utilizzi un framework (in questo caso quello di android) quindi non potrai mai intercettare tutto. Ne è la prova lo stack trace che non contiene nemmeno uno delle tue classi.

I tuoi metodi sono chiamati da altri metodi java che non sono inclusi nel tuo blocco try e che quindi non puoi catturare. Ovviamente sono errori causati da te in modo diretto (xml definiti male o non funzionanti) o indiretto (singleton usati male, variabili inizializzate male, ecc...).

E' molto difficile trovare chi o cosa genera quegli errori, ed il consiglio che posso darti è fregatene! Se sono veramente 2 casi su 1000 o più download non perderci tempo... possono essere anche dovuti a rom mal funzionanti che generano errori sulla tua app in casi estremamente particolari (quindi tu non hai errori sul codice, ma l'errore è indotto da terzi). Non appena la situazione diventa grave o se qualcuno si decide a commentare l'errore sul market (o contattandoti) facendoti capire effettivamente cosa c'è che non va, allora inizia a pensarci.

Piccola osservazione: la generalissima Exception non è per nulla generalissima, non a caso estende Throwable. Fai il catch di questo se vuoi prendere tutto il prendibile.