zoukankan      html  css  js  c++  java
  • 常见的几种异常类型-熟记

    今天把几个常见的异常总结一下,希望自己能熟记,别忘记!!!

    1.NullPointerException: 空指针异常。经验发现这个异常是经常会发生的,属于运行时异常。

    举例:

    public static void main(String[] args) {
    String str = null;
    //此处报空指针异常
    System.out.println(str.length());
    }

    控制台输出的异常信息为:

    Exception in thread "main" java.lang.NullPointerException
    at cn.com.gjw.MyClass.main(MyClass.java:7)

     

    2.ClassCastException: 类型强制转换异常。Java的一些语法知识不太熟悉的时候会发生的异常。

    举例:

    public static void main(String[] args) {
    // 类型强制转换异常
    Object x = new String("String");
    System.out.println((Integer) x);
    }

    控制台输出的异常信息为:

    Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
    at cn.com.gjw.MyClass.main(MyClass.java:7)

     

    3.ArrayIndexOutOfBoundsException: 数组下标越界异常。特别常见的一个异常,粗心的程序员都会犯的错误。

    举例:

    public static void main(String[] args) {
    int arr[] = {1,2};
    // 此处报数组下标越界异常
    System.out.println(arr[2]);
    }

    控制台输出的异常信息为:

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
    at cn.com.gjw.MyClass.main(MyClass.java:7)

     

    4.ArithmeticException:算术运算异常。算术跟我水平差不多的你有没有犯过类似的错误呢??

    举例:

    public static void main(String[] args) {
    // 整数0做了分母,报算术运算异常
    System.out.println(1 / 0);
    }

    控制台输出的异常信息为:

    Exception in thread "main" java.lang.ArithmeticException: / by zero
    at cn.com.gjw.MyClass.main(MyClass.java:6)

     

    5.NumberFormatException: 数字格式异常。什么是数字格式异常呢?一个例子说明一切。

    举例:

    public static void main(String[] args) {
    // 将字符串“it”转换为Integer类型的,当然会报数字格式异常啦
    System.out.println(Integer.parseInt("it"));
    }

    控制台输出的异常信息为:

    Exception in thread "main" java.lang.NumberFormatException: For input string: "it"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:492)
    at java.lang.Integer.parseInt(Integer.java:527)
    at cn.com.gjw.MyClass.main(MyClass.java:6)

     

  • 相关阅读:
    Mysql 5.7解压版安装
    Java Web 整合案例
    maven 创建Java web项目
    LintCode 数字三角形
    Hibernate 泛型Dao实现
    LintCode 将二叉查找树转换成双链表
    LintCode 删除链表中倒数第n个节点
    LintCode 二级制中有多少个1
    LintCode翻转二叉树
    SpringMVC 运行流程
  • 原文地址:https://www.cnblogs.com/misscai/p/9581825.html
Copyright © 2011-2022 走看看