This week's book giveaways are in the Refactoring and Agile forums.
We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line!
See this thread and this one for details.
Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Null Pointer Exception

 
subodh varshney
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Dear All,
Please help me I m facing NullPointerException.

In following code i m retreiving some values from a table and storing them in a vector.
In case of response when it get null then loop goes to NullPointerException
so remaining variables(responseflag,url,urlflag,) does't get value so again it next code gives nullpointerexception.



for (int loop = 0; loop < result.size(); loop++) {
String keyword = null; String suffix = null; String username = null;
String password = null; String response =""; String responseflag = null;
String url =""; String urlflag = null;

try {
keyword = result.elementAt(loop).toString();
suffix = result.elementAt(loop + 1).toString();
username = result.elementAt(loop + 2).toString();
password = result.elementAt(loop + 3).toString();
response = result.elementAt(loop + 4).toString();
responseflag = result.elementAt(loop + 5).toString();
url = result.elementAt(loop + 6).toString();
urlflag = result.elementAt(loop + 7).toString();

}
catch (NullPointerException ex) {
}
 
Joanne Neal
Rancher
Posts: 3742
16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You need to split each line so that you can check if has returned null before calling toString()
i.e.

becomes
 
Sathya Srinivasan
Ranch Hand
Posts: 379
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
To expand on that, here's the Sherlock Holmes' rule to finding null pointers.

1. Print the stack trace (in your code you don't print anything. NEVER swallow a stack trace).
2. Look at the line where the exception happens.
3. Look at each segment in the code. A segment is essentially an object between dots. For example, in a code like a.someMethod().someOtherMethod(), there are 3 segments.
4. Take all but the last segment into consideration.
5. Eliminate segments that CANNOT be null (see if you have declared them already or if such methods will definitely return a value). Add log statements if needed.

Whatever remains, however confident you are, must be null and hence causing the NPE.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic