SqLite Nullpointer Exception beim db.close()

  • Antworten:0
Eduard B.
  • Forum-Beiträge: 2

12.10.2012, 11:48:12 via Website

Hi!
Ich schreibe zurzeit an meiner eigenen App und habe folgenden Code:

1protected void onDestroy() {
2 super.onDestroy();
3 if (db != null && db.isOpen()) {
4 db.close();
5 }
6}

IIch bin der Meinung, dass dieser Code keine NullPointer Exception werfen kónnte, aber hin und wieder bekomme ich beim Schließen der Activity eine Nullpointer Exception (db == null ) .
Kann jemand den Fehler erkennen? Eigentlich könnte der Fehler nur auftreten, wenn parallel zu dem Code von oben nach der Überprüfung die db geschlossen wird und ich deswegen die NullPointer Exception bekomme oder ?
Hier die Exception:

10-12 11:36:23.866: E/AndroidRuntime(11650): FATAL EXCEPTION: main
10-12 11:36:23.866: E/AndroidRuntime(11650): java.lang.RuntimeException: Unable to destroy activity {com.market.mesh/com.market.mesh.DisplayResultsActivity}: java.lang.NullPointerException
10-12 11:36:23.866: E/AndroidRuntime(11650): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3123)
10-12 11:36:23.866: E/AndroidRuntime(11650): at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3141)
10-12 11:36:23.866: E/AndroidRuntime(11650): at android.app.ActivityThread.access$1200(ActivityThread.java:127)
10-12 11:36:23.866: E/AndroidRuntime(11650): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1191)
10-12 11:36:23.866: E/AndroidRuntime(11650): at android.os.Handler.dispatchMessage(Handler.java:99)
10-12 11:36:23.866: E/AndroidRuntime(11650): at android.os.Looper.loop(Looper.java:137)
10-12 11:36:23.866: E/AndroidRuntime(11650): at android.app.ActivityThread.main(ActivityThread.java:4511)
10-12 11:36:23.866: E/AndroidRuntime(11650): at java.lang.reflect.Method.invokeNative(Native Method)
10-12 11:36:23.866: E/AndroidRuntime(11650): at java.lang.reflect.Method.invoke(Method.java:511)
10-12 11:36:23.866: E/AndroidRuntime(11650): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
10-12 11:36:23.866: E/AndroidRuntime(11650): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
10-12 11:36:23.866: E/AndroidRuntime(11650): at dalvik.system.NativeStart.main(Native Method)
10-12 11:36:23.866: E/AndroidRuntime(11650): Caused by: java.lang.NullPointerException
10-12 11:36:23.866: E/AndroidRuntime(11650): at android.database.sqlite.SQLiteDatabase.closeDatabase(SQLiteDatabase.java:1285)
10-12 11:36:23.866: E/AndroidRuntime(11650): at android.database.sqlite.SQLiteDatabase.close(SQLiteDatabase.java:1234)
10-12 11:36:23.866: E/AndroidRuntime(11650): at my.package.MyClass(MyClass.java:287)
10-12 11:36:23.866: E/AndroidRuntime(11650): at android.app.Activity.performDestroy(Activity.java:4634)
10-12 11:36:23.866: E/AndroidRuntime(11650): at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1082)
10-12 11:36:23.866: E/AndroidRuntime(11650): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3110)
10-12 11:36:23.866: E/AndroidRuntime(11650): ... 11 more

Antworten