java的异常

异常是由java应用程序抛出和处理的非严重错误,一般分为Checked异常和运行

时异常两大类.

Checked异常必须捕获或声明抛出,否则无法通过编译,

运行时异常不要求必须捕获或声明抛出.

Java的异常处理是通过下面五个关键字来实现的:

Try,catch,finally,throw和throws

Try-catch块:

把可能出现异常的代码放入try语句块中,catch块中捕获异常.

扫描二维码关注公众号,回复: 1805690 查看本文章
package 异常定义;
public class yichang {
	public void show() {
		try {
			//代码块
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

Try-catch-finally块:

把可能出现异常的代码放入try语句块中,catch块中捕获异常,

不管异常会不会出现,finally块中的代码都会执行.

package 异常定义;

public class yichang {
	public void show() {
		try {
			//代码块
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			//必定执行的代码
		}
	}
}

多重catch块:

分别处理不同异常,排序顺序必须是从特殊到一般.

package 异常定义;

public class yichang {
	public void show() {
		try {
			// 代码块
		} catch (NullPointerException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

Throws:

声明异常.

package 异常定义;

public class yichang {
	public static void show() {
		try {
			// 代码块
		} catch (NullPointerException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	public static void main(String[] args) throws Exception{
		show();
	}
}

Throw:

把异常抛给调用的地方.

package 异常定义;

public class yichang {
	public static void show(int a) throws Exception {
		if (a>50) {
			System.out.println("数字大于50!");
		}else {
			throw new Exception();
		}
	}
	public static void main(String[] args) throws Exception{
		show(20);
	}
}

Throw和Throws的区别:

作用:Throw用于在程序中抛出异常;Throws用于声明在该方法内抛出异常.

使用的位置不同:Throw位于方法体内部,可以作为单独语句使用;Throws必须跟在

方法参数列表的后面,不能单独使用.

内容不同:Throw抛出一个异常对象,而且只能是一个;Throws后面跟异常类,而且可以

跟多个异常类.


常见异常类型:

异常

说明

Exception

异常层次结构的跟类

ArithmeticException

算数错误情形,如以零作除数

ArrayIndexOutOfBoundsException

数组下标越界

NullPointerException

尝试访问null对象成员

ClassNotFoundException

不能加载所需的类

InputMismatchException

欲得到的数据类型与实际输入的类型不匹配

IllegalArgumentException

方法接受到非法参数

ClassCastException

对象强制类型转换出错

NumberFormatException

数字格式转换异常,如把“abc”转换数字

Log4j使用步骤:

1.     在项目中加入log4j所使用的JAR文件.

2.     创建log4j.properties文件.

3.     编写log4j.properties文件,配置日志信息.

4.     在程序中使用log4j记录日志信息.

日志分类:

1.        SQL日志: 记录系统执行的SQL语句.

2.        异常日志: 记录系统运行中发生的异常事件.

3.        业务日志: 记录系统运行过程,如用户登录,操作记录.


猜你喜欢

转载自blog.csdn.net/yingzheada/article/details/80631157