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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

菲尼克斯

中级黑马

  • 黑马币:201

  • 帖子:65

  • 精华:0

© 菲尼克斯 中级黑马   /  2018-7-20 13:55  /  630 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

什么是异常处理
        在 Java中,运行时错误会作为异常抛出。异常就是一种对象,表示阻止正常进行程序 执行的错误或者情况。
我们处理这个异常使程序可以正常运行或者优雅停止的行为,就是异常处理。

异常类型
Throwable
    Error 出现的jvm不能处理的方法。
    Exception 可以处理的方法。
  运行时期异常 RuntimeException的子类就是这类,编译时期可处理也可不处理。
  编译时期异常 编译时期必须处理 Exception子类 且非RuntimeException子类。

异常处理方法
异常处理步骤
    捕获处理
        try...catch语句
        try{
            有可能出现问题的代码;
        }catch( eg ArithmeticException){
            处理异常;
        }
        throws IOException
     抛出去异常;

     如果发现异常,异常下面代码不执行(类似于循环break)。直接跳入catch语句中,catch语句结束后,整个try...catch结束
     如果没有发现异常,try语句块结束后,直接结束 不执行catch代码。
     声明异常的关楗字是 throws, 抛出异常的关键字是 throw。
     throw : 将产生的异常抛出(强调的是动作),抛出的既可以是异常的引用,也可以是异常对象。(位置: 方法体内)
     throws : 如果一个方法可能会出现异常,但没有能力处理这种异常,可以在方法声明处用throws子句来声明抛出异常。用它修饰的方法向调用者表明该方法可能会抛出异常(可以是一种类型,也可以是多种类型,用逗号隔开)(位置: 写在方法名 或方法名列表之后 ,在方法体之前。)
     finally :finally语句块总是会被执行。它主要用于回收在try块里打开的物力资源(如数据库连接、网络连接和磁盘文件)。只有finally块,执行完成之后,才会回来执行try或者catch块中的return或者throw语句,如果finally中使用了return或者throw等终止方法的语句,则就不会跳回执行,直接停止。
自定义异常
Java自定义异常的使用要经历如下四个步骤:
      1、定义一个类继承Throwable或其子类。
      2、添加构造方法(当然也可以不用添加,使用默认构造方法)。
      3、在某个方法类抛出该异常。
      4、捕捉该异常。

异常链
规则是从小到大,当上面的捕获不了的异常下面再来捕获,同一个异常只能有一个catch块捕获到。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马