java 异常处理 and junit and log4j日志(来自田老师的总结)

---------------------------如何表示异常--------------------                                                                              

用异常类表示异常。异常类的顶级父类是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级别

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值