A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵鹏程 中级黑马   /  2012-7-25 20:21  /  1543 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

异常的作用是什么?在代码中是如何捕获/处理异常的?在“catch (ex)”中,“throw”和“throw ex”有什么区别?

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

3 个回复

倒序浏览
1、作用:异常用于处理系统级或者应用程序级的错误状态,异常处理是一种结构
化的处理过程,其实就是处理错误代码或者思路,捕捉异常,让程序员修改代码。

2、捕捉异常:
根据经验或者规定,在可能出现异常的地方使用try catch捕捉异常。

3、throw和throw ex区别:
throw 重新抛出异常但是不破坏异常发生的调用栈尔“throw ex”会重置调用栈这
样捕获异常的人会以为代码出错在这里。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
1, 异常就是程序在运行过程中由于硬件设备问题,软件设计错误,缺陷等导致的程序错误。
2,
catch (Exception ex)
{
    throw ex; //报出有错误 ,并程序自动抛出异常
}
3,
catch (Exception ex)
{
     throw;//没有报出有错误 ,程序不会自动抛出异常
}

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
异常体系:
        |--Throwable
                |--Exception <程序本身可以处理的异常>
                        |--RuntimeException
                        <这些异常是不检查异常,程序中可以选择
                        捕获,也可以不处理,这些异常一般
                        是由于程序逻辑错误引起的,程序应该从
                        逻辑角度尽可能避免该类异常的发生>
                        |--非运行时异常
                        <这些异常为程序语法的异常,为必须处理异常
                        ,如果不处理,程序就不能编译通过
                        如:IOException以及用户自定义的异常,但
                        一般情况下步自定义检查异常>
                |--Erro <程序无法处理的错误
                        这种错误发生时,jvm一般会选择线程终止
                        程序无法运行下去>

什么是异常?异常就是程序运行过程中出现的错误。
java的异常处理框架是java语言健壮性的一个重要体现。java将异常
看做对象来处理,就有了上面的异常体系

异常的捕获和处理:
        格式:
        try{
        //(尝试运行的)程序代码;
        }catch(异常类型的变量名){
        //异常处理代码;
        }finally{
        //异常发生,方法返回之前,总要执行的代码;
        }
throw throws关键字

throw关键字是用于方法体内部,用来抛出一个throwable类型的异常。如果
抛出了非运行时异常,则应该在方法头部声明方法可能抛出异常类型。
该方法的调用者也必须检查吹来抛出的异常。
如果所有方法都层层上抛获取的异常,最终jvm会进行默认处理,就是打印
异常信息和堆栈信息。
如果抛出的是RuntimeException,可以不用在方法的头部声明

throws关键字是由于方法体外部的声明部分,用来声明方法可能会抛出某些异常。

异常处理的应用:
对于一个应用系统来说,以后我们都应该会有自己的一套异常处理框架,这样当
异常发生时,也能得到同意的处理风格,将漂亮的异常信息反馈给用户。
老师说以后会经常用到RuntimeException,应为客户只知道运行异常,其他的异常
他们不会明白的。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马