常见异常与举例

1、Java.lang.NullPointerException
空指针异常,此异常主要是调用了未经初始化的对象或者是不存在的对象。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。例如:

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

运行时会报错:

Exception in thread "main" java.lang.NullPointerException
    at test.ExceptionTest.main(ExceptionTest.java:6)

异常处理:

public class ExceptionTest
{
    public static void main(String[] args)
    {
        try{
            String s = null;
            System.out.println(s.toString());
        }catch(Exception e){
            System.out.println("Null pointer");   //执行此语句,输出Null pointer
        }
    }
}

2、java.lang.ArrayIndexOutOfBoundsException
数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。例如:

public class ExceptionTest
{
    public static void main(String[] args)
    {
        int[] ints = { 1, 2, 3, 4 };
        System.out.println(ints[4]);
    }
}

报错:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
    at test.ExceptionTest.main(ExceptionTest.java:6)

处理方式与之前类似。

3、java.lang.ClassNotFoundException
找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。例如:

public class ExceptionTest
{
    public static void main(String[] args)
    {
        Object s = Class.forName("Person");
    }
}

报错:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    Unhandled exception type ClassNotFoundException
    at test.ExceptionTest.main(ExceptionTest.java:5)

4、java.lang.ArithmeticException
数学运算异常,比如程序中出现了除以零这样的运算就会出这样的异常。例如:

public class ExceptionTest
{
    public static void main(String[] args)
    {
        System.out.println(10/0);
    }
}

报错:

Exception in thread "main" java.lang.ArithmeticException: / by zero
    at mianshi.ExceptionTest.main(ExceptionTest.java:7)

5、NoSuchMethodException
方法未找到异常。

你可能感兴趣的:(常见异常与举例)