带你深入了解Java!十二、异常[exception]!

< 异 常 >[exception]

在这里插入图片描述

一、了解异常的概念

  • 异常
    在程序运行中/生活过程中,所发生的不正常的/不符合预期的情况,这就是异常。它会导致程序的中断或过程结束

二、理解Java异常处理机制

  • try 尝试
  • catch 捉,捕获,抓
  • finally 最终的
  • throw 抛,扔
  • throws 抛,扔/计算机释义:声明

三、会捕捉异常

在这里插入图片描述
在这里插入图片描述

1)、try-catch系列
基础 try-catch:
在这里插入图片描述
添加了异常处理机制之后,程序运行情况:
1、 未出现异常
正常执行try中的和try-catch 后的代码,不会执行catch中的代码
2出现[对应]异常
在执行try中的代码时,如果出现异常,try中的代码不再往下执行,JVM会立刻创建对应的异常对象,然后将此对象传递给catch块中的异常类型形参,进入catch块对异常处理,处理了完后继续执行后续代码
3、 出现[不对应]的异常
在执行try中的代码时,如果出现异常,try中的代码不再往下执行,JVM会立刻创建对应的异常对象,然后将此对象传递给catch块中的异常类型形参,【如果catch的形参不匹配,则无法传入,也就无法进行异常处理,程序中断(和我未添加异常处理一样的效果)】
在这里插入图片描述

  • 2)、多重 catch
    在这里插入图片描述
    类似于多重if ,只要有一个异常类型满足,剩下的异常雷响捕获不会执行!
    在这里插入图片描述
    它的应用场景需要对不同的异常进行不同的处理操作时,需要多重catch,但是很多场景下,为了省事,会直接捕获Exception父类。
  • 3) try-eatch-finally
    – finally中的代码,无论程序是否出现异常都会正常执行
    当finally’和return 同时出现时,会先执行finally中的代码然后执行return
    – finally 除断电等物理情况外的唯一不执行实际:System.exit(0);//退出虚拟机
    在这里插入图片描述
    在这里插入图片描述

四、会抛出异常

在这里插入图片描述
throw 接异常对象 抛出自定义的或者更全面的异常信息对象
throws 接异常类型 标注在方法声明上的,用来声明此方才可能出现异常类型
在这里插入图片描述
在这里插入图片描述

五、了解Java异常体系结构

  • Throwable
    – Error(程序无法修复 必须人工修复) Exception(可以通过代码/程序进行动动态修复的)
    – Cgecked异常(受检异常:编写出来 就提示你进行解决) Runtime异常(运行时异常:代码执行过程中出现的异常,有些时候不需要修复,InputMisnatchException ArthimaticExcapton ArrayIndexOutOfBoundsExption…… 都属于运行时异常)
    在这里插入图片描述

六、使用log4j(log for java)记录日志

程序中的日志:记录程序运行过程中的状态信息(一般会记录重要信息),也是解决问题的一种手段(推荐在大型项目中使用日志进行debug而不是工具debug)

  • 1、 导包 将jar 包变成“小奶瓶“
  • 2、 配置log4j (配置输入出日志的格式和位置等)通过 log4j.properties放在src目录下
  • 3、 使用API进行日志记录

笔记

  • 异常结构
    在这里插入图片描述
  • 方法覆盖的异常在这里插入图片描述
  • final关键字
    在这里插入图片描述
  • finally语句
  • 在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Gastby98/article/details/89329192