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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ﹎◇waiting﹎ 初级黑马   /  2012-8-1 11:21  /  1770 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

最近学java的异常处理有些不懂,java对异常的处理有两个方面的一个是抛出异常,一个是捕捉异常,这两个有什么异同啊,具体是怎么处理的。

2 个回复

倒序浏览
   抛出异常
                使用throw关键字可以抛出一个异常对象
                抛出一个异常可以通知当前方法的调用者
  处理异常
                在运行一段有可能出现异常的代码时, 我们可以对其进行处理, 处理方式有两种
                声明: 在当前方法签名最后使用throws关键字声明有可能出现的异常, 方法中调用其他方法如果出现异常, 当前方法中断, 将异常抛出
                捕捉: 将有可能出现异常的代码放在try代码块中, 后面跟上catch代码块, 捕捉有可能出现的异常, 如果try中代码出现异常, 就会执行catch代码
回复 使用道具 举报
老毕大概是这样说的:-----------------------------------------

异常的处理原则:

        1,处理方式有两种:try 或者 throws

        2,调用到抛出异常的功能时,抛出几个,就处理几个

                一个try可以对应多个catch

        3,当有多个catch时,捕捉父类异常的catch要放到最下面

        4,在catch块内,需要定义针对性的处理方式,不要简单的定义         printStackTrace 输出语句,也不要不写

                当捕获到的异常在本方法内处理不了时,可以继续在catch块中抛出

                try {

                        throw new AException();

                }

                catch (AException e) {

                        // 向外抛出,不进行处理

                        throw e;

                }


                如果该异常处理不了,但并不属于该功能出现的异常,可以将异常转换后,再抛出和该功能相关的异常

                try {

                        throw new AException();

                }

                catch (AException e) {

                        // 对AException进行转换后抛出

                        throw new BException();

                }



                如果异常可以处理,在处理后还需要将异常产生的和本功能相关的问题提供出去,

                让调用者知道并处理,具体方式为,捕获异常并处理后,再转换为新的异常并抛出

                try {

                        throw new AException();

                }

                catch (AException e) {

                        // 对AException处理。。。

                        // 对AException进行转换后抛出

                        throw new BException();

                }


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