Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get the specific line of code that threw an error

I'm getting a java.lang.NullPointerException right when the app launches and it shuts down. The error from the emulator is "Unfortunately, appname has stopped". It was working fine, until I wrote a bunch of new code, and changed the manifest. Hopefully it's not the manifest, but my question is, how can I find out what line of code is the problem? The trace dump means nothing to me, and even though it's verbose, having ...11 more doesn't let me see the whole thing.

I don't really know what that error means. I've searched for it, but there seems to be a list of things it could mean. I've tried Project>Clean, I've tried messing with the manifest again, but I still get the error. I've checked/unchecked external libraries. Just done what people have suggested to do for other people getting the same error. So I'd really like to know, what line set it off?

Here is the output if this helps:

06-29 08:37:23.680: E/AndroidRuntime(1225): FATAL EXCEPTION: main
06-29 08:37:23.680: E/AndroidRuntime(1225): java.lang.RuntimeException: Unable to    instantiate activity      ComponentInfo{com.upliftly.android/com.upliftly.android.UpliftlyActivity}: java.lang.NullPointerException
06-29 08:37:23.680: E/AndroidRuntime(1225):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1879)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at android.app.ActivityThread.access$600(ActivityThread.java:122)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at android.os.Looper.loop(Looper.java:137)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at android.app.ActivityThread.main(ActivityThread.java:4340)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at java.lang.reflect.Method.invokeNative(Native Method)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at java.lang.reflect.Method.invoke(Method.java:511)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at dalvik.system.NativeStart.main(Native Method)
06-29 08:37:23.680: E/AndroidRuntime(1225): Caused by: java.lang.NullPointerException
06-29 08:37:23.680: E/AndroidRuntime(1225):     at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:101)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at com.upliftly.android.UpliftlyActivity.<init>(UpliftlyActivity.java:19)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at java.lang.Class.newInstanceImpl(Native Method)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at java.lang.Class.newInstance(Class.java:1319)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
06-29 08:37:23.680: E/AndroidRuntime(1225):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1870)
06-29 08:37:23.680: E/AndroidRuntime(1225):     ... 11 more
like image 507
Brett Stubbs Avatar asked Jun 29 '12 13:06

Brett Stubbs


People also ask

How can I get the line number which threw exception?

Simple way, use the Exception. ToString() function, it will return the line after the exception description.

Which method displays the line number in code where exception happened?

The printStackTrace() method in Java is a tool used to handle exceptions and errors. It is a method of Java's throwable class which prints the throwable along with other details like the line number and class name where the exception occurred.


1 Answers

Usually when you see a stack trace like the one you posted, you should focus in the lines after the last

Caused by: 

line. After that, detect the line that is has your package name and it is (in most cases) that line that caused the exception from your code. In the stack trace that you posted, that line is

at com.upliftly.android.UpliftlyActivity.<init>(UpliftlyActivity.java:19)
like image 195
Angelo Avatar answered Sep 26 '22 01:09

Angelo