您的位置:首页 > 编程语言 > Java开发

java项目中经常遇到的异常列举

2016-12-19 11:36 211 查看

1.java.lang.NullPointerException

NullPointerException 意味空指针,发生这种情况是说对象为null,却调用该对象属性或者方法。

比如String s =null;

s.equals("aa"); 这种就报上述异常。

2.ArrayIndexOutOfBoundsException数组下标越界异常3.java.lang.RuntimeException运行时异常4.java.lang.NoSuchMethodException调用的方法找不到(调用了没有定义的方法),注意这个方法不能是私有的,也不能是protected的。5.FileNotFoundException文件未找到异常6.ClassCastException类型强制转换异常ClassCastException,从字面上看,是类型转换错误,通常是进行强制类型转换时候出的错误。下面对产生ClassCastException异常的原因进行分析,然后给出这种异常的解决方法。这种异常是如何产生的呢?举一个比较形象的例子。Animal表示动物,Dog表示狗,是动物的子类,Cat表示猫,是动物的子类。看下面的代码:Animal a1 = new Dog();  // 1Animal a2 = new Cat();  // 2Dog d1 = (Dog)a1;         //3Dog d2 = (Dog)a2;        //4第3行代码和第4行代码基本相同,从字面意思看都是把动物(Animal)强制转换为狗(Dog),但是第4行代码将产生Java.lang.ClassCastException。原因是你要把一个猫(a2这只动物是猫)转换成狗,而第3行中是把狗转换成狗,所以可以。从上面的例子看,java.lang.ClassCastException是进行强制类型转换的时产生的异常,强制类型转换的前提是父类引用指向的对象的类型是子类的时候才可以进行强制类型转换,如果父类引用指向的对象的类型不是子类的时候将产生java.lang.ClassCastException异常。就是上面a1和a2都是动物,但是a1这只动物是一只狗,而a2这只动物是猫,所以要把a1转换成狗可以,因为a1本身就是狗,而a2是一只猫,所以要转换成狗就出错了。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐