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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© F灬灬 中级黑马   /  2015-8-30 23:59  /  393 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我们在编写程序的时候可能会有很多的问题存在,为了将来方便的表示这些问题的原因,类型,位置,Java就提供了异常对象供我们使用。
     异常:程序出现了不正常的情况。
     对应的异常:
          Throwable:
          Error:严重的问题,通常出现重大问题,运行的类不存在或者内存溢出,是不需要处理的,一般这种情况需要修改代码。
          Exception:不严重的,
                    |--编译期间的:这个是我们需要处理的。捕获(try-catch)或者抛出(throws/throw)。
                    |--运行期间的:这个是我们不需要处理的,这个是需要修改代码。
     如果出现了问题,我们自己没有处理,jvm会采用自动处理的方式。它把异常的类型,原因,位置直接显示在控制台,后面的代码是不能执行的。
A:编写处理代码
                      try{
                         可能发生问题的代码。
                         }catch(异常类名 变量名){
                         异常处理代码。
                         }finally{
                            释放资源。(数据库,IO)特点:它里面的代码永远会执行。
                         }
当一个代码中有多个问题:
     A:一个个用异常处理方案解决。
     B:针对所有问题写一个try...catch。一个try多个catch
在异常处理中,一旦try里面有问题了,就直接跳到catch里面执行。
异常或者错误,都是一他们所在体系的父亲作为后缀。
XxxException
XxxError
如果异常是平级关系,没有顺序问题。
如果异常存在子父类关系,父类一定要放在最后。
JDK新特性:多个catch用一个catch替代,不是说多个catch的内容用一个Exception处理。
格式:catch(异常1|异常2|异常3...变量名){}
B:抛出
把异常抛出,方法调用常见。
        格式:在方法名称中跟着一个关键字:throws 异常类名。
        异常分类
          A:Exception     编译时异常
          B:RuntimeException    运行时异常

     异常处理:
          A:try...catch...finally
          B:thorws
     如果能处理,尽量选择A,否则选择B。
     运行时期异常和编译时期异常的区别?
          A:运行时期异常是不需要try...catch或者throws的。
          B:编译时期异常是需要进行处理的。

2 个回复

倒序浏览
顶一下!!!
回复 使用道具 举报
太长了不带看了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马