我收到了我的第一个例外。现在我该怎么办?

时间:2011-09-27 21:26:27

标签: java android error-handling nullpointerexception

我是所有这些疯狂的Android / Java编程新手。我有一个应用程序(不知何故)我设法弄清楚如何添加应用内结算项目。我很确定该错误与应用内结算有关,但我无法在我的任何设备上重现该问题。

    NullPointerException
    in ComponentName.<init>()

    java.lang.RuntimeException: Unable to destroy activity {ca.ajwest.BeerConverter/ca.ajwest.BeerConverter.BeerConverter}: java.lang.NullPointerException
    at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3035)
    at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3100)
    at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3216)
    at android.app.ActivityThread.access$1600(ActivityThread.java:132)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1037)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:143)
    at android.app.ActivityThread.main(ActivityThread.java:4196)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    at dalvik.system.NativeStart.main(Native Method)
    Caused by: java.lang.NullPointerException
    at android.content.ComponentName.<init>(ComponentName.java:75)
    at android.content.Intent.<init>(Intent.java:2893)
    at ca.ajwest.BeerConverter.BillingHelper.stopService(BillingHelper.java:270)
    at ca.ajwest.BeerConverter.BeerConverter.onDestroy(BeerConverter.java:615)
    at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3017)
    ... 12 more

有人可以指导我一些资源,在那里我可以了解更多有关此输出的信息吗?有没有人有类似的经历?

Here's the source如果这有帮助的话。

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

你应该看看BillingHelper.java中的第270行和BillingConverter中的第615行。在错误日志中,你应该主要寻找两件事;第一个是与您的应用程序名称相关的行号,第二个;例外的名称。

你看到了

Caused by: java.lang.NullPointerException
at android.content.ComponentName.<init>(ComponentName.java:75)
at android.content.Intent.<init>(Intent.java:2893)
at ca.ajwest.BeerConverter.BillingHelper.stopService(BillingHelper.java:270)
at ca.ajwest.BeerConverter.BeerConverter.onDestroy(BeerConverter.java:615)

说,你的一个类中有一个空指针异常。还注意到行号以进行检查。应该有一个未初始化或已经销毁的变量。

我希望有所帮助。

答案 1 :(得分:2)

enter image description here

执行代码时,您收到了“Exception”。基本上,出了点问题。 Oracle的定义是“异常是在程序执行期间发生的事件,它会破坏程序指令的正常流程。”

查看here了解详情

特别是你得到了NPE,NullPointerException

来自Javadoc

当应用程序在需要对象的情况下尝试使用null时抛出。其中包括:

  • 调用null对象的实例方法。
  • 访问或修改空对象的字段。
  • 将null的长度视为数组。
  • 访问或修改null的插槽,就像它是一个数组一样。
  • 抛出null,就好像它是一个Throwable值。

换句话说,你的程序期望一些对象并没有得到任何回报。