一、异常:
1.概念:程序在运行过程中所发生的不正常事件。
2.异常处理:在程序发生异常时,会按照预定的处理办法来对异常进行处理。
二、try–catch块:
1.语法:
try{
//可能出现异常的代码
}catch(异常类型 名称){
//出现异常之后所执行的代码
}
2.原理:当程序在运行过程中,执行try里面的代码,如果遇到异常时,就会直接去执行catch里面的代码,try里面剩余的代码不会被执行。
三、try–catch–finally:
1.语法:
try{
//可能出现异常的代码
}catch(异常类型 名称){
//出现异常之后所执行的代码
}finally{
//不管出现还是没有出现异常,该代码块都执行
}
2.原理:程序先执行try里面的代码,当遇到异常时,执行catch里面的代码,然后执行finally里面的代码。如果程序没有遇到异常时,执行完try里面的代码之后执行finally里面的代码。
3.注意事项:如果catch里面有一个return,那么finally里面的代码还会继续执行。
四、常用的异常类型:
1.Exception:所有异常的父类
2.ArithmeticException:当除数是0的时候出现的异常
3.ArryOutIndexOfBoundsException:数组下标越界的异常
4.NullPointerException:空指针异常。
5.ClassNotFoundException:找不到类的异常。
6.InputMismatchexception:欲得到数据类型与实际的数据类型不匹配,比如说用int类型接收了一个字符串类型的值。
五、多重catch块
1.语法:
try{

	}catch(异常类型1 名称){
		//提示信息
	}catch(异常类型2 名称){
		//提示信息
	}catch(Exception e){
		//提示信息
	}
2.注意事项:
	因为Exception是所有异常类型的父类,所以他得放到最后。如果放在前面的话,后面的异常类型执行不到。
3.执行原理:当程序在try里面出现异常的时候,先执行catch里面的异常类型1,在执行异常类型2,最后在执行Exception。

六、声明异常————throws
1.语法:
public void 方法名() throws 异常类型1,异常类型2,Exception{}
2.在该方法内声明异常,对异常不进行处理。调用该方法时,需要对异常进行处理,也可以继续往上声明异常,让上一级调用者处理,直到main方法来处理。
七、抛出异常——throw:
1.语法:
在方法里面写:new throw Exception(“异常信息”);
eg:new throw Exception(“性别必须是男或者女”);
八、throw和throws的区别:
1.作用不同,throws是声明异常,throw是抛出异常
2.使用的位置不同,throws在方法的外面使用,"{"的前面。而throw在方法的内部使用。
3.内容不同,throws后面跟的是异常类,可以是多个。而throw抛出的是一个异常对象,只能有一个。
九、日志:
1.概念:主要用来记录系统操作过程中一些重要的操作信息。
2.日志的分类:Sql日志,异常日志和业务日志。
3.log4j日志记录工具:
(1)输出日志的级别
(2)可以控制日志的输出形式(控制台和文件)
(3)控制每一条日志的输出格式。
十、使用log4j的步骤:
1.先将log4j的jar文件加入到项目中:右击项目名称–》新建文件夹–》名字为lib–》将jar复制到lib里面–》右击log4j的jar文件–》build path–》add build path;
2.在src下面创建名字为log4j.properties文件,将资源文件的代码考进去
3.给代码中加入log4j的代码:
Logger logger = Logger.getLogger(TestMain.class.getName());

	//给日志文件中写入日志信息
	logger.debug("日志信息");