记住这五种常见的异常,防止面试被问

1、java.lang.NullPointerException

空指针异常,遇到的机率感觉是最高的;

示例:

public static void main(String[] args) {
    String text = null;
    System.out.println(text.toString());
}

记住这五种常见的异常,防止面试被问_第1张图片

2、java.lang.ArrayIndexOutOfBoundsException

数组下标越界异常,这个也是比较常见的;

示例:

public static void main(String[] args) {
    String[] text = {"1","2"};
    for (int i = 0; i < 3;i++) {
        System.out.println(text[i]);
    }
}

记住这五种常见的异常,防止面试被问_第2张图片 

3、java.lang.ClassCastException

类强制转换异常;

示例:

public static void main(String[] args) {
    Object text = new String("aaa");
    Integer num = (Integer) text;
    System.out.println(num);
}

4、java.lang.NumberFormatException

数字格式异常;

示例:

public static void main(String[] args) {
    String text = "aaa";
    Integer num = Integer.valueOf(text);
    System.out.println(num);
}

记住这五种常见的异常,防止面试被问_第3张图片

5、java.lang.IllegalAccessException

非法访问异常,就是没有权限访问,一般是使用反射访问其私有方法或属性时出现;

示例:

public static void main(String[] args) {
    try {
        Class userClass = Class.forName("test.User");
        // 创建新实例
        Object obj = userClass.getConstructor().newInstance();

        // 私有方法
        Method m2 = userClass.getDeclaredMethod("getAge");//方法名
        //m2.setAccessible(true);//解除私有
        m2.invoke(obj);

    } catch (Exception e) {
        e.printStackTrace();
    }
}

 使用放射时,出现这个异常可以使用:m2.setAccessible(true);进行暴力破解。

记住这五种常见的异常,防止面试被问_第4张图片

使用后可以正常访问。

不会使用放射的朋友可以看我以前写的文章:

Java反射的简单使用:https://blog.csdn.net/m_crayon/article/details/106753785

 

再写两个偶尔会遇见的异常

6、java.text.ParseException

解析异常;

示例:

public static void main(String[] args) {
    SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");
    String text = "aaa";
    try {
        Date date = format.parse(text);
        System.out.println(date);
    } catch (ParseException e) {
        e.printStackTrace();
    }
}

 

 7、java.lang.ArithmeticException

算术异常;

示例:

public static void main(String[] args) {
    int a = 3;
    int b = 0;
    System.out.println(a / b);
}

记住这五种常见的异常,防止面试被问_第5张图片

你可能感兴趣的:(Java)