---------------------------如何表示异常--------------------
用异常类表示异常。异常类的顶级父类是Exception,继承了Excepiton的类即为异常类。
----------------------常见的异常类-------------------
ArithmeticException 算术错误,例如:零作除数
IndexOutOfBoundsException 下标越界
NullPointerExceptio 访问 null 对象
ClassNotFoundException 不能加载所需的类
IllegalArgumentException 参数非法
ClassCastException 对象强制类型转换
InputMismatchException 欲得到的数据类型与实际输入类型不匹配(实际工作基本不用)
SQLExceptio 数据库操作
--------------------------------try catch详解---------------------------
三种情况
1 try中所有正常,不执行catch中的代码
2 try中有异常,并且发生的异常是catch中异常或子类则执行catch中的代码
3 try中有异常,并且发生的异常不是catch中异常或子类则程序中断
------------------异常类常用的方法(帮我们了解异常的相关信息)------------------
void printStackTrace() 输出异常的堆栈信息
String getMessage() 返回
--------------------------------------finally -------------------------------------
1 在catch块执行后,return之前(如果catch块中有return)。
2 主要放置必须被执行的代码
-------------------------------------多重 catch 块 -----------------------------
1 在try中可能发生多个异常时使用,运行时按照代码书写顺序挨个匹配异常进行异常处理。
2 子类异常在前,父类异常在后。(先匹配小异常,再匹配大异常)
------------------------------------自定义异常(课本上没有)--------------------------
1 运行时异常(继承RumtimeException):使用thorw后不需要使用throws或try catch
2 检查期异常(继承Exception):使用thorw后需要强制使用throws或try catch
--------------------------------------------throw ----------------------------------------
抛出异常。(相当于报告异常)
--------------------------------------------throws ----------------------------------------
在使用throw关键字抛出检查异常后,没有能力或者本身不愿意处理这个异常,可以在方法声明处用 throws 来声明
抛出异常,它强制要求方法的调用者必须用 try-catch 或throws来处理。
------------------------------------------异常处理语句的语法规则 ------------------------
1 try 代码块不能脱离 catch 代码块或 finally 代码块而单独存在。try 代码块后面至少有一个 catch 代码块或 finally
代码块;否则编译出错;
2 try 代码块后面可以零个或多个 catch 代码块,还可以有零个或至多一个 finally 代码块。如果 catch 代码块和 finally
代码块并存,finally 代码块必须在 catch 代码块后面;
3 try 代码块后面可以只跟 finally 代码块。
4 在 try 代码块中定义的变量的作用域为 try 代码块,在 catch 代码块和 finally 代码块不能访问该变量。
5 当 try 代码块后面有多个 catch 代码块时,Java 虚拟机会把实际抛出的异常对象依次和各个 catch 代码块声明的
异常类型匹配,如果异常对象为某个异常类型或其子类的实例,就执行这个 catch 代码块,而不会再执行其他
的 catch 代码块。
6 如果一个方法可能出现检查异常,要么用 try…catch 语句捕获,要么用 throws 字句声明将其抛出,否则会导致
编译错误。
7 throw 语句后面不允许紧跟其他的语句,因为这些语句永远不会被执行
---------------------------------------异常应用场景-----------------------------
1 可能发生异常的地方
2 项目中一般Contoller层都需要异常处理
-----------------------------------------junit----
1 引入junit类库(相当于layui使用前导入layui包)
2 进行测试
注意事项:
- 测试方法上必须使用@Test
- 测试方法必须使用 public void进行修饰
- 方法不能有输入参数
- 课本上有其他注意事项,这里不一一列举,因为开发中会犯得错误主要是上面三点。
-------------------------------------------log4j-------------------------------------
1 引入jar包 引入配置文件
2 编写代码
3 配置文件(固定的东西不需要记,将来开发时直接去网上复制)
但是有两个东西要记住:1 日志级别 2 文件名
测试,写代码的时候是debug级别,上线后配置成error级别