首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

错误-软件工程师的好伙伴

2013-03-25 
异常---程序员的好伙伴?????? Exception-----异常可谓是我们程序员,在开发程序的时候,常见的伙伴,有时候,

异常---程序员的好伙伴

?????? Exception-----异常可谓是我们程序员,在开发程序的时候,常见的伙伴,错误-软件工程师的好伙伴有时候,它让你苦不堪言,调试半天也弄不出错在哪里了。今天就这个问题,根据自己的开发经验,总结自己经常遇到的各种异常,仅供参考,不足之处,望见谅。错误-软件工程师的好伙伴

?

一.NullPointException空指针异常
??? ?1.概述:该异常经常出现,主要原因是没有正确的理解对象这个概念,我们知道,在java中只有对象才可以用来调用方法,那我们如果只是声明一个变量,就不能用来调用方法。此时调用方法就会出现空指针异常。
???? 2.处理办法:我们只需要找到跑出异常的那一句话,然后找到相应的变量,最后,让该变量指向一个对象就可以了。
?3.例句:

?at study.exception.ExceptionTest.main(ExceptionTest.java:5)。
?也就是str.length(),这一句话。我们发现,str是一个空的对象。在这里只需要给str一个值就可以了。(String 类比较特殊)

?

二.NumberFormatException 字符串转换异常
?1.概述:应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。
?2.处理办法:根据不同的题意,看看这个方法适合什么范围的树枝转换
?3.例句:

?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 study.exception.ExceptionTest.main(ExceptionTest.java:5)
?我们知道,parseInt(),转换的范围是str中的字符必须是0-9之间的,修改一下范围即可,我们明白,出现这个异常后,我们要立即查看这个函数适合的范围对不对。

?

三.ClassCastException? 强制转型出现的异常
?1.概述:当试图将对象强制转换为不是实例的子类时,抛出该异常。
?2.处理办法:查看该类型和转换以后的类型是不是“父子关系”,如果不是,则转型失败。
?3.例句:

?at study.exception.ExceptionTest.main(ExceptionTest.java:4).向下转型的基础是,两个类型必须是父子类的关系,
?才有可能转型,即使如此,有时候,强制转型有时候也会出现错误。

?

四.IndexOutOfBoundsException 数组越界异常
?1.概述:指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出。
?2.处理办法:这里我们看看抛出的异常的后面,会标明是数组是哪个位置越界了,我们找到这个位置,将数目改变一下即可。
?3.例句:
?

?at study.exception.ExceptionTest.main(ExceptionTest.java:5)
?异常中有个10,表明,我们这个数组的第10个位置的时候越界了。我们就知道该如何处理了。

?

五.NoSuchFieldException 没有这个字段异常
?1.概述:类不包含指定名称的字段时产生的信号。
?2.处理办法:这个经常用于文件的操作过程当中,我们要打开一个文件,但是该文件不存在,就会抛出这个异常
?3.例句:
?

try{    可能出现异常的代码  }catch(Exception e) {    捕获后处理的办法,经常用e.printStackTrace();这个方法来打印异常的详细信息  }finally {    不管是不是捕获到了异常,这里都会执行 }

?
????? 2.还有另一种方法,直接throws将相应的异常抛出,不过这个在大型的编程项目里,会比较麻烦。
只要是调用了这个方法的方法,我们要不断的抛出异常。

????? 大家一起加油,争取早日交到异常这个好朋友!

热点排行