博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
异常处理
阅读量:4659 次
发布时间:2019-06-09

本文共 1128 字,大约阅读时间需要 3 分钟。

 Java异常:

异常的概念:

    Java异常是由Java提供的用于处理程序中错误的一种机制

    所谓错误是指在程序运行期间出现在错误(而非编译期间)

    设计良好的程序应该在异常发生时提供处理这些错误的方法

    使得程序不会因为异常的发生而阻断或发生不可预见的结果

    Java程序的执行期间如果出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将提交给Java运行时系统,这个过程成为抛出异常

    当Java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前对象交给其处理,这一过程称为捕获异常。

 异常的分类:

异常和错误都是从throwable继承,throwable下有error和exception,在exception下又有必须捕捉的和不必一定要捕捉的(runtime exception)

Error成为错误,有Java虚拟机生成并抛出,程序对其不做处理

Exception为所有异常的父类,其子类对应了各种各样的可能出现的异常事件,一般需要用户显示的声明或捕获

Runtime Exception 一类特殊的异常,如被零除,数组下标越界等,其产生比较繁琐,处理比较麻烦如果显示的声明或捕获对程序的可读性或运行效率影响很大,因此有系统自动检测并将他们交给缺省的异常处理程序(用户可不对其处理)

 异常的捕获和处理:     

 try语句:

     try{...}指定了一段代码,这段代码就是一次捕捉并处理例外的范围。

     在执行过程中,该段代码可能会产生并抛出一种或几种类型的异常对象,它后面的catch语句要分别对其进行处理。

     如果没有例外所有的catch语句都会被略过不被执行

 catch语句:

     在catch语句中是对异常进行处理代码,每个try语句可以伴随一个或多个catch语句,用于处理可能产生的不同类型的对象

     在catch声明的异常对象(catch (some Exception e))中封装了异常事件发出信息,在catch语句中可以使用这个对象的一些方法获取信息

 finally语句:

        finally语句为异常处理提供一个统一的出口, 使得控制流流程在跳转到程序的其他部分以前,对程序的状态进行统一的管理

        无论try所指定的语句块中是否抛出异常,finally语句都会被执行

       通常在finally语句中可以进行资源的清除工作

使用自定义的异常:

     通过继承 Java.lang.Exception类来声明自己的异常类

     在方法适当的位置生成自定义异常的实例并用throw语句来抛出

      在方法声明的部分用throws语句声明该方法可能抛出的异常

 

 

转载于:https://www.cnblogs.com/diyanfei/p/3540274.html

你可能感兴趣的文章
angular.isUndefined()
查看>>
第一次软件工程作业(改进版)
查看>>
网络流24题-飞行员配对方案问题
查看>>
引入css的四种方式
查看>>
iOS开发UI篇—transframe属性(形变)
查看>>
3月7日 ArrayList集合
查看>>
jsp 环境配置记录
查看>>
Python03
查看>>
LOJ 2537 「PKUWC2018」Minimax
查看>>
使用java中replaceAll方法替换字符串中的反斜杠
查看>>
Some configure
查看>>
流量调整和限流技术 【转载】
查看>>
1 线性空间
查看>>
VS不显示最近打开的项目
查看>>
DP(动态规划)
查看>>
chkconfig
查看>>
2.抽取代码(BaseActivity)
查看>>
夏天过去了, 姥爷推荐几套来自smashingmagzine的超棒秋天主题壁纸
查看>>
反射的所有api
查看>>
css 定位及遮罩层小技巧
查看>>