我使用的是eclipse IDE。
我有一个抛出NullPointerException
的代码,我正在使用try/catch
block
处理异常
这是我的代码-
String name = null;
int length = 0;
try {
length = name.length();
System.out.println("Number of letters in name: " + length);
} catch(NullPointerException e) {
System.out.println("NullPointerException occured");
}
System.out.println("I am being executed");
在具有identifier
length
的线路上的try
block
内,我有警告-
Null pointer access: The variable name can only be null at this location
我正试图通过使用-来抑制警告
@SuppressWarnings("all")
length = name.length();
在具有identifier
length
的线路上,我出现了错误-
Multiple markers at this line -
- Syntax error on token "length", VariableDecalaratorId expected after this token
- Null pointer access: The variable name can only be null at this location
- length cannot be resolved to a type
如何解决这个问题?
我不希望我的程序显示这个警告,因为我知道我在做什么。
感谢@Slaw对这个答案的评论-
我以以下方式修改了我的代码-
String name = null;
int length = 0;
boolean flag = false;
if(flag) {
name = "abcd";
}
try {
length = name.length();
System.out.println("Number of letters in name: " + length);
} catch(NullPointerException e) {
System.out.println("NullPointerException occured");
}
System.out.println("I am being executed");
现在我不再有警告了。
在这里,正如@Slaw所建议的那样,我确保variable
name
有可能不是null
。