Java异常处理学习心得

  

程序中总是存在着各种问题,为了使在程序执行过程中能正常运行,使用Java提供的异常处理机制捕获可能发生的异常,对异常进行处理并使程序能正常运行。这就是Java的异常处理。

  

<强>一、可捕获的异常

  

Java中可以捕获的异常分为可控式和运行时异常。

  

1只可控式异常

  

在Java中把那些可以预知的错误,在程序编译时就能对程序中可能存在的错误进行处理,并给出具体的错误信息,这些错误称为可控式异常。常用的可控式异常如下:

  

异常说明IOException当发生某种I/O异常时,抛出此异常SQLException提供关于数据库访问错误或其他错误信息的异常ClassNotFoundException类没有找到异常NoSuchFieldException类不包含指定名称的字段时产生的信号NoSuchMethodException无法找到某一特定方法时,抛出该异常

  

2只运行时异常

  

在Java中不能被编译器检测到的错误称为运行时异常。常用的运行时异常如下:

  

,异常,说明,IndexOutOfBoundsException,指示某集合或数组的索引值超出范围时抛出该异常,NullPointerException,当应用程序试图在需要对象的地方使用null时,抛出该异常,ArithmeticException,当出现异常的运算条件时,抛出此异常,IllegalArgumentException,抛出异常的表明向方法传递了一个不合法或不正确的的参数,ClassCastException异常,当试图将对象强制转换为不是实例的子类时,抛出该异常

  

<强>二,处理异常

  

在Java中当程序出现异常时,可以使用试···,try···catch···最后或尝试···最后进行处理。

  

1只使用试···抓处理异常

  

试后是正常执行的语句,而抓住后是对异常处理的语句,抓住的括号中是程序需要处理的异常类型。语法格式如下:

     <>之前   尝试{   正常执行的语句   }捕捉(异常e) {   对异常进行处理的语句   }      

这里举一个算数异常的例子,如下。

     <>之前   公开课ExceptionTest {   公共静态void main (String [] args) {   int结果=1/0;   尝试{   System.out.println(结果);   }捕捉(异常e) {   system . out。println(“抛出异常:“+ e.getMessage ());   }   }   }      

这里是1/0个异常的算法,因为除数不能为0。运行结果如下:

  

癑ava异常处理学习心得"

  

因为有异常,所以不执行尝试后的语句,从而执行捕获后的语句。其中“e.getMessage()”是获取异常信息的方法,用于获取详细消息字符串;此外还有printStackTrace()方法,用于将其栈踪迹输出至标准错误流;toString()方法用于获得简短描述。

  

2只使用试···抓住···最后处理异常

  

这里试,捕获后的语句与前面的相同,而最终后的语句无论是否发生异常都要执行,因此最后语句块通常用于执行垃圾回收。语法格式如下:

     <>之前   尝试{   正常执行的语句   }捕捉(异常e) {   对异常进行处理的语句   最后}{   一定会被处理的语句   }      

3只使用试···最后处理异常

  

在程序发生异常时,就可以在最后语句块中对其进行相应的处理,另外当程序没有发生异常时,执行完试和最后之间的语句后,也将执行最后语句块中的代码。语法格式如下:

     <>之前   尝试{   需要执行的语句   最后}{   一定会被处理的语句   }      

<强>三,抛出异常

  

对于程序中发生的异常,除了上面的···查明语句处理之外,还可以使用抛出声明或抛出语句抛出异常。

  

1只使用抛出声明抛出异常

  

扔用于方法声明,在声明方法时使用抛出声明抛出异常,然后在调用该方法中对异常进行处理。

  

如需声明多个异常,各异常间要用逗号分隔,语法格式如下:

     <>之前   数据类型方法名(形参列表)抛出异常类1、异常类2,……,异常类n {   方法体;   }      

比如用抛扔出异常异常。

     <>之前   公共空间showInfo()抛出异常{//抛出例外   FileInputStream=新FileInputStream (“C://Record.txt”);//创建IO对象   }      

2只使用扔语句抛出异常

  

如果希望程序自行抛出异常,可以使用扔语句来实现。语法格式如下:,抛出新的异常(“对异常的说明”);,

Java异常处理学习心得