异常

异常

  • 异常:程序生病了

  • 异常的分类

  • 异常的处理 ***

    异常的定义

  • Throwable

  • Error Exception

  • / / \

  • UnChecked Checked Runtime

  • Exception Exception Exception

  • Error:错误,一般由虚拟机生成并脱出,程序员无法控制,不需要关注

  • Exception:异常

  • CheckedException检查时异常|编译时异常:是在编译时出现的,如果不处理,程序无法执行

  • RuntimeException运行时异常:是在程序运行的时候出现,简单的可以通过增强程序的健壮性来处理(if判断)

  • 常见的运行时异常:

  • 1.空指针 NullPointerException

  • 2.数组索引越界 ArrayIndexOutOfBoundsException

  • 3.类型转换异常 ClassCastException (引用数据类型父类|父接口引用强转为实现类|子类类型)

  • 4.数学异常 ArithmeticException

  • 5.负数异常 NegativeArraySizeException

  • 6.数字格式异常 NumberFormatException

throw : 制造异常

  • 遇到异常,不同的异常见名知意,非常直观,方便调试
  • 如果遇到异常不处理,程序无法继续向下执行
  • throw : 制造异常
  • 异常处理方式:
  • throws : 抛出异常

try…catch 捕获异常

  • try{
  • 可能会出现异常的代码;
  • }catch(StringIndexOutOfBoundsException e){
  • e…
  • 如果出现这个类型的异常,就执行的代码
  • }catch(NullPointerException e){
  • }catch(FileNotFoundException e){
  • }catch(Exception e){
  • }finally{
  • 无论是否出现异常,肯定会执行的代码
  • }
  • 1.异常都可以使用异常处理的2中方式进行处理
  • 编译时异常必须使用这两种方式处理,运行时异常可以使用这两种方式也可以使用增强程序的健壮性
  • 2.抛出异常,当前不处理,异常抛出到上一层,方法的内部把异常抛出到方法上面,谁调用这个方法,谁处理
  • 3.异常捕获,在遇到异常的时候当前位置就处理,捕获某个异常对象,使用异常的功能
  • 4.如果try中遇到异常了,try中下面的代码不会执行,直接去执行对应catch中的内容,如果没有遇到异常,正常执行所有的try中代码
  • 5.一个try后可以跟一到多个catch,捕获小范围的异常catch写在上面,否则下面的catch执行不到
  • 6.finally中的内容无论当前trycatch结构是否遇到异常都会执行其中的代码,与前面的try…catch是一个结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值