首页 > 其他 > 详细

异常类

时间:2018-04-15 23:23:17      阅读:282      评论:0      收藏:0      [点我收藏+]

异常

异常:描述出错信息的对象。

异常的API结构:

Throwable有两个子类:Error和Exception。其中Error表示错误,能被虚拟机捕获,但没法处理,一般用于描述崩溃级别的严重错误。

Exception称为异常,能被虚拟机捕获,同时也能在发生异常时,对该异常进行处理。

Error是所有错误类的父类,而Exception是所有异常类的父类。

Try{

   ************************

}catch(NullPointerException e){

e.printStackTrace();

}

称为异常捕获,如果在try块中发生了空指针异常,那么,会产生空指针异常的对象,可以使用catch块中定义的异常变量指向该对象。通过e.PrintStackTrace();打印异常中封装的出错信息。

一个try块可以匹配多个catch块,如果try块中发生了异常,只会执行第一个匹配异常的catch块,其他catch块全部忽略。

异常执行顺序:先执行try块,顺序执行。如果try块中有异常。则转到catch块执行,同时终止try块中的其他代码,无论是否有异常发生,try********catch块执行完毕后,继续执行以后的代码。

常见异常:算术异常  ArithmeticException

          数组下标越界异常  ArrayIndexOutOfBoundsException

          类型转换异常   ClassCastException

          空指针异常   NullPointerException

          数字转换异常  NumberFormatException

          文件未找到异常   FileNotFoundException

Finally语句块,表示无论是否有异常发生,都会执行的语句块,通常用于资源清理工作,比如,流的关闭,数据库连接的关闭。

如果try或catch块中有return语句,那么在跳出方法之前会执行finally块。

如果try块或catch块中有System.exit(0);的结束程序的语句,那么finally块不会执行。

异常的分类:编译期异常(检查异常)和运行期异常(非检查异常)。

编译期异常:要求用户必须要处理的,如果用户不处理,无法通过编译

运行期异常:在调用时用户可以处理也可以不处理,运行期异常如果不处理,同样可以通过编译。

所有的运行期异常都是RuntimeException的子类。

final,finally,finalize的区别:

final是修饰符,可以修饰类,方法,变量。修饰类表示该类不能被继承,修饰方法时表示该方法不能被子类重写,修饰变量时表示该变量的值不能被改变。

finally是语句块,表示无论是否有异常发生,都会执行的语句块

finalize是方法,在object中定义,表示在垃圾回收当前对象之前会调用该方法,完成一些清理性工作。

Throwthrows的区别:

throw new NumberFormatException();  显示抛出数字格式异常

        public static void test() throws Exception{

              Properties pro = new Properties();

              pro.load(new FileReader(“info.txt”))

}

        Throws是方法修饰符,表示该方法可能会抛出某种异常,在调用该方法时,必须处理该方法所抛出的异常。

自定义异常:可以自定义一个类来继承异常类。

       

 

异常类

原文:https://www.cnblogs.com/UNIKII/p/8850092.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!