异常和Log4j

什么是异常
异常是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序
Java中如何进行异常处理
Java的异常处理是通过5个关键字来实现的: try、catch、 finally、throw、throws
try catch finally 捕获异常 throw声明异常 throws抛出异常
try 执行可能产生
异常的代码
catch捕获异常finally无论是否发生异常,
代码总能执行 throws声明方法可能要
抛出的各种异常 throw手动抛出异常
try-catch块
try-catch块捕获异常,分为三种情况:
第一种情况 :正常
第二种情况:出现异常第三种情况:异常类型不匹配
异常对象常用的方法
void printStackTrace()
输出异常的堆栈信息
String getMessage()
返回异常信息描述字符串,
是printStackTrace()输出信息的一部分
常见的异常类型
Exception 异常层次结构的父类
ArithmeticException算术错误情形,如以零作除数
ArrayIndexOutOfBoundsException
数组下标越界NullPointerException
尝试访问 null 对象成员
ClassNotFoundException
不能加载所需的类
IllegalArgumentException
方法接收到非法参数
开源日志记录工具log4j
主要用来记录系统运行中一些重要操作信息
便于监视系统运行情况,帮助用户提前发现和避开可能出现的问题,或者出现问题后根据日志找到原因
log4j是一个非常优秀的开源日志记录工具
控制日志的输出级别
控制日志信息输送的目的地是控制台、文件等
控制每一条日志的输出格式
使用log4j记录日志步骤
在项目中加入log4j的JAR文件
创建log4j.properties文件
配置日志信息
使用log4j记录日志信息
异常分为Checked异常和运行时异常
Checked异常必须捕获或者声明抛出
运行时异常不要求必须捕获或者声明抛出
try-catch-finally中存在return语句的执行顺序
finally块中语句不执行的情况
throw和throws关键字的区别
使用log4j记录日志的步骤
try-catch-finally
在try-catch块后加入finally块
是否发生异常都执行
不执行的唯一情况
多重catch块
引发多种类型的异常
排列catch 语句的顺序:先子类后父类
发生异常时按顺序逐个匹配
只执行第一个与异常类型匹配的catch语句
异常和Log4j