浅析JavaSE异常机制

异常在java中以类的形式存在,每一个异常类都可以创建异常对象

  • 异常的继承结构:
  • Object
  • Object下有Throwable(可抛出的)
  • Throwable下有连个分支:Error(不可处理,直接退出JVM)和Exception(可处理的)
  • Exception下有两个分支:
  • Exception的直接子类:编译时异常(要求程序员在编写程序阶段必须预先对这些异常进行处理)
  •  类似于外面下雨不打伞出门容易生病
    
  •  编译时异常又被称为受检异常、受控异常(CheckedException)
    
  • RuntimeExceptionn:运行时异常(在编写程序阶段程序员可以预先处理,也可以不管)
  •  类似于出门会被陨石命中
    
  •  运行时异常又被称为未受检异常、未受控异常(UnCheckedException)
    
  •  Java语言对异常处理有两种方式:
    
  •  ①在方法声明的位置上,使用throws关键字,抛给上一级
    
  •  ②使用try..catch语句进行异常的捕捉
    

第一种方式 通常用于将异常抛给调用者解决,而第二种方式 是异常自己解决

finally语句通常使用在 语句块中完成资源的释放/关闭

  • 因为finally中的代码比较有保障,即使try中出现异常,finally中的
  • 语句照常执行
  • /**
    * try和finally可以没有catch
    * try不能单独时使用
    *try finally可以联合使用
    * 以下代码的执行顺序:
    * 先执行try…
    * 在执行finally…
    * 最后执行return
    * 推出java虚拟机后,finally语句里的程序不再执行
    * System.exit()
    */
    Java中自定义异常:
  • ①:编写一个类继承Exception或者RuntimeException
  • ②:提供两个构造方法,一个无参数的,一个带有String参数的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值