NullPointerException空指针异常

  • 当应用程序试图在需要对象的地方使用null 时,抛出该异常。
  • 举例:

    1. public class Main {
    2. public static void main(String[] args) {
    3. String name = null;
    4. System.out.println(name.length());
    5. }
    6. }

    image.png

    ArithmeticException数学运算异常

  • 当出现异常的运算条件时,抛出此异常。例如,一个整数“除以零”时,抛出此类的一个实例。

  • 举例:

    1. public class Main {
    2. public static void main(String[] args) {
    3. int a = 2;
    4. int b = 0;
    5. System.out.println(a / b);
    6. }
    7. }

    image.png

    ArraylndexOutOfBoundsException数组下标越界异常

  • 非法索引访问数组时抛出的异常。如果索引为负或大于等于数组大小,则该索引为非法索引

  • 举例:

    1. public class Main {
    2. public static void main(String[] args) {
    3. int[] arr = {1,2,4};
    4. for (int i = 0; i <= arr.length; i++) {
    5. System.out.println(arr[i]);
    6. }
    7. }
    8. }

    image.png

    ClassCastException类型转换异常

  • 当试图将对象强制转换为不是实例的子类时,抛出该异常。

  • 举例:

    1. public class Main {
    2. public static void main(String[] args) {
    3. A b = new B(); //向上转型
    4. B b2 = (B)b;//向下转型,这里是OK
    5. C c2 = (C)b;//这里抛出ClassCastException
    6. }
    7. }
    8. class A {}
    9. class B extends A {}
    10. class C extends A {}

    image.png

    NumberFormatException数字格式不正确异常

  • 当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常=>使用异常我们可以确保输入是满足条件数字.

  • 举例:
    1. public class Main {
    2. public static void main(String[] args) {
    3. String num = "1234";
    4. String name = "WTY2002";
    5. //将String 转成 int
    6. int num1 = Integer.parseInt(num);//ok
    7. System.out.println(num1);//1234
    8. int num2 = Integer.parseInt(name);//抛出NumberFormatException
    9. System.out.println(num2);
    10. }
    11. }
    image.png