异常(day12)


第十二天  异常
1. 异常体系
     Throwable 所有异常和错误的父类
         toString()
         getMessage()
         printStackTrace() 最长用,信息量最大,JVM调用的也是这样方法
      Error
         Exception 所有异常的父类
         RuntimeException
        其他派系
2. 异常的第一种处理方法
       try{
     检测的代码
     可能出现异常的代码
     如果出现以后,以后的代码(try内的)不在运行,跳转到catch去了
   }catch(异常类 变量){
     处理方法
   }
3. 方法内部抛出异常  (第二种异常处理方法,抛出异常)
       如果方法内部抛出异常,选择try catch来处理
       在方法的声明上,继续抛出  throws 异常类
       如果我们调用了抛出异常方法,可以选择try catch处理,也可以继续抛出
       但是,到了最终的调用者,不要在抛出了
       throw throws
       throw 作用在方法内,抛出异常对象,关键字后面跟随的是 new 异常对象
       throws 作用在方法的声明生,后面跟随的是异常类
4. 编译时期异常与运行时期异常
      编译时期异常,调用了一个抛出异常的方法,没有进行处理,编译失败
      运行时期异常,运行时候,出现的异常
      RuntimeException 运行时异常
        如果方法内部,抛出的是RuntimeException或者是它的子类的异常
         方法的声明生,无需在使用throws进行抛出
         对于调用者,不需要对异常进行处理
         原因是(********):
        运行时期异常,在程序运行中,是不允许出现了,如果出现了,java工程师,希望
 程序停止运行,并让开发者,修改代码
 抛出运行时期异常,不需要声明,也不需要处理,发生了就要停止程序了
  ClassCastException
  NullPointerException
  ArrayIndexOutOfBoundsException
5. 自定义异常
       java中目前所有的异常对象,也可能不够我们使用
       自定义异常 前提,继承异常类Exception,入伙
       凡是异常类,都具备可抛性
       如果我们定义的是运行时期异常,继承RuntimeException
       需要将异常的信息,传递给自定义异常的父类,用super();
6. finally代码块
       配合try catch 处理 来进行使用
       finally代码块中的程序,是一定要执行的
       finally一般用于关闭资源
面试题 final finally finalize
7. 继承中子类和父类类异常的抛出特点
     子类覆盖父类的方法,如果父类方法不抛异常,子类也不能抛出异常
     子类覆盖父类的方法,如果父类方法抛出异常,子类可以抛出,也可以不抛出异常
      但是,子类抛出的异常,不能"大于"父类抛出的异常
8. 异常练习题
      老师上课,用笔记本上
      笔记本会出现异常,蓝屏异常,冒烟异常
      笔记本有3个状体,正常状态上课
   老师调用笔记本的开机功能上课,如果出现异常,该怎么办?
      需要几个类 ,2个自定义异常类,一个是蓝屏,一个是冒烟
      笔记本类
      老师调用笔记本的功能上课
      测试运行的


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值