黑马程序员------异常小结

来源:互联网 发布:dota2新英雄语音知乎 编辑:程序博客网 时间:2024/06/08 07:23

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

异常的分类:
问题: Throwable
严重问题 Error
非严重问题 Exception
编译期异常: Exception
编译期异常必须对其处理,如果不处理,程序无法正常运行.
运行期异常: RuntimeException
运行期异常可以对其处理,也可以不处理
异常的处理方式:
第一种: 使用try...catch语句
  第二种: throws
  1.try...catch语句的格式:
完整版:
try{
可能会出现异常的代码
}catch(异常名 变量名){
对异常的处理方式 ;
  }finally {
释放资源的代码 ;
  }
简化版:
  try{
  可能会出现异常的代码
  }catch(异常名 变量名){
  对异常的处理方式 ;
}

注意事项:
  (1)try语句中的代码越少越好
(2): 需要在catch语句中做处理,哪怕是一条输出语句也是可以的
jdk1.7以后对多个异常的处理方式:
格式:
try {
可能出现异常的代码;
}catch(异常名1| 异常名2 | 异常名3... e){
  处理方式
}


好处: 简化了代码的书写
弊端: 对多个异常的处理方式是一致的
  注意事项:要求多个异常是平级关系,不能存在子父类的继承关系
2.使用throws

throws是用在方法上,作用是用来声明对应的异常.就是我这个方法可能会出现异常, 如果你调用我这个方法就需要对这个异常进行处理,如果你不处理,那么你可以继续往外抛

throw的概述:在功能方法内部出现某种情况,程序不能继续运行,需要进行跳转时,就用throw 把异常对象抛出


throw和throws 的区别:
throws:用在方法声明后面,跟的是异常类名;可以跟多个异常类名,用逗号隔开,表示抛出异常
,由该方法的调用者来处理;throws只是表示出现异常的一种可能性,并不一定会发生这些异常
throw:用在方法体内,跟的是异常对象名;只能抛出一个异常对象名;表示抛出异常,由方法体
内或方法上的语句处理;执行throw则一定抛出了某种异常
异常类继承中的注意事项:
1.子类重写父类方法时,子类的方法必须抛出相同的异常或父类异常的子类。
2.如果父类抛出了多个异常,子类重写父类时,只能抛出相同的异常或者是他异常中的一部分,子类不能抛出父类没有的异常
3.如果被重写的方法没有异常抛出,那么子类的方法绝对不可以抛出异常,如果子类方法内有异常发生,那么子类只能try,不能throws

1 0
原创粉丝点击