为什么需要在主方法中抛出NullPointerException?
来源:爱站网时间:2021-11-22编辑:网友分享
是不是有很多人都不知道为什么需要在主方法中抛出NullPointerException?关于这个问题,爱站技术小编觉得用一篇文章就能够解答的,于是现在发了上来给大家参考参考,希望能帮助到大家。
问题描述
为什么我需要在main方法中抛出NullPointerException?在“ catch”块中发生了什么?如果有人可以详细解释,那将是一个很大的帮助。在此先感谢
public class GFG {
public static void main(String[]args) throws NullPointerException {
Scanner sc= new Scanner(System.in);
System.out.println("Enter the array size");
int n= sc.nextInt();
int [] arr= new int[n];
for (int i = 0; i map= new LinkedHashMap();
for(int i=0;i e:map.entrySet()) {
if(e.getValue()>1)
System.out.print(e.getKey()+" ");
}
}
}
思路:
您不需要抛出NullPointerException
。此异常从RuntimeException
扩展,因此是未经检查的异常。在编译过程中不检查这些异常(编译器不必指定它们或捕获它们)。这些与代码本身的错误有关。我建议阅读有关未经检查的异常的信息。仅高级程序会引发这些异常,因此我建议将代码更改为:
try {
if (map.containsKey(arr[i]){
map.put(arr[i], map.get(arr[i]) + 1);
}else{
map.put(arr[i], 1);
}catch (Exception e) {
e.printStackTrace();
}
我会删除尝试并抓住,但是仍然可以放心使用。如果您仍然想扔它,请按以下步骤操作:
try {
map.put(arr[i], map.get(arr[i]) + 1);
}catch (NullPointerException e) {
map.put(arr[i], 1);
}
以上内容就是爱站技术频道小编为大家分享的为什么需要在主方法中抛出NullPointerException?看完以上分享之后,大家应该都知道为什么了吧。
下一篇:什么是格式化程序的替代品?