1. 常见异常
1.1. ArrayIndexOutOfBoundsException
异常名称 | 原因 |
---|
ArrayIndexOutOfBoundsException | 数组下标越界 |
1.1.1. 例子
public static void main(String[] args)
{
int[] array = {1, 2, 3, 4};
for (int i = 0; i < 5; ++i)
{
System.out.print(array[i] + ",");
}
}
1.1.2. 异常结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020111010540254.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1B1cnN1ZUx1bw==,size_16,color_FFFFFF,t_70#pic_center)
1.1.3. 修改排查
public static void main(String[] args)
{
int[] array = {1, 2, 3, 4};
for (int i = 0; i < array.length; ++i)
{
System.out.print(array[i] + ",");
}
}
public static void main(String[] args)
{
int[] array = {1, 2, 3, 4};
for (int element : array)
{
System.out.print(element + ",");
}
}
1.1.4. 修改结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110105534826.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1B1cnN1ZUx1bw==,size_16,color_FFFFFF,t_70#pic_center)
1.2. NullPointerException
异常名称 | 原因 |
---|
NullPointerException | 访问 null 引用 |
1.2.1. 例子1
- 试图访问数组引用,却不知在某一中间过程,引用被修改为 null
public static void main(String[] args)
{
int[] array = {1, 2, 3, 4};
System.out.println(Arrays.toString(array));
array = null;
System.out.println(array[0]);
}
1.2.2. 异常结果1
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110110214666.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1B1cnN1ZUx1bw==,size_16,color_FFFFFF,t_70#pic_center)
1.2.3. 修改排查1
public static void main(String[] args)
{
int[] array = {1, 2, 3, 4};
System.out.println(Arrays.toString(array));
System.out.println(array[0]);
}
1.2.4. 修改结果1
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110110347251.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1B1cnN1ZUx1bw==,size_16,color_FFFFFF,t_70#pic_center)
1.2.5. 例子2
public static void main(String[] args)
{
int[][] array = new int[3][];
for (int i = 0; i < array.length; ++i)
{
for (int j = 0; j < array[i].length; ++j)
{
System.out.print(array[i][j] + "\t");
}
System.out.println();
}
}
1.2.6. 异常结果2
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110111003444.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1B1cnN1ZUx1bw==,size_16,color_FFFFFF,t_70#pic_center)
1.2.7. 修改排查2
public static void main(String[] args)
{
int[][] array = new int[3][];
for (int i = 0; i < array.length; ++i)
{
array[i] = new int[4];
for (int j = 0; j < array[i].length; ++j)
{
System.out.print(array[i][j] + "\t");
}
System.out.println();
}
}
1.2.8. 修改结果2
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110111354713.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1B1cnN1ZUx1bw==,size_16,color_FFFFFF,t_70#pic_center)