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
方法未找到异常。