第三章之异常

2019-01-22
内容:异常的分类和处理方式
一、异常
  在JAVA语言中,将程序执行过程中发生的不正常情况称为“异常”,不包括语法错误和逻辑错误
二、异常的分类
  JAVA中异常的体系结构是java.lang.Throwable被java.lang.Error和java.lang.Exception继承,然后继承Error类这些异常没有办法解决,继承Exception的这些异常是可以解决的。
  对于Exception这些异常又分为编译时异常和运行时异常,编译时异常必须处理,运行时异常可以不显示处理。
三、异常的处理
  这里只针对继承Exception的异常
  JAVA中的“抓抛模型”:抛指的是我们执行代码时,一旦出现异常,就会在异常的代码处生成一个对应异常类型的对象,并将此对象抛出(自动抛出/手动抛出),
一旦抛出此异常类的对象,那么程序就会终止执行,并且将此对象抛给方法的调用者;抓指的是抓住“抛”出来的对象,抓便是异常处理的方式。
  JAVA提供了两种方式来处理一个异常类的对象
  办法一:try {
    可能出现异常的代码
    }catch (Exception1 e){
     //对异常1的处理
    }catch (Exception2 e){
     //对异常2的处理
    }……
    finally {
   
    }
    注意:*try代码块内的变量相当于局部变量
         *对异常的处理分为两种,一种是e.printStackTrace()和e.getMessage(),另一种是自己写异常信息
         *几个catch语句之间按顺序执行,一个catch语句执行完后跳过后面的catch语句
         *finally语句可以选择有或者没有
         *catch语句的异常必须小范围写在大范围上面(子类放在父类上面)
         *try-catch语句可以嵌套
  办法二:在方法的声明处显示地抛出可能出现的异常对象的类型(throws 异常类型),当此方法内部出现异常的时候会在调用此方法的地方抛出一个异常,可以采用继续抛出的方式处理异常,直至main方法,相当于把编译时异常转换为运行时异常,当然也可以在每个调用方法的地方利用try-catch-finally语句进行处理

猜你喜欢

转载自www.cnblogs.com/jbrr/p/10305704.html