2021-02-22

java异常类与异常处理

1 什么时异常

代码再编译执行的过程中可能会出现一些无法避免的各种各样的问题,这些问题无法完全的解决,只能进行避免。

例如:用户在计算除法时将除数输入0 、在进行数组元素赋值时输入的下标超出元素下标范围等情况,都有可能会发生,但又不一定会发生,作为开发人员,我们能做到的就是避免这些问题的同时对这些情况发生时进行处理。

2 java中的一些常见异常类型

ArrayIndexOutOfException数组下标越界异常用非法索引访问数组时抛出的异常,如果索引为负或大于等于数组大小,则该索引为非法索引
ArrayStoreExption数组元素类型不匹配异常定义三个不同类型的元素对象,这三个元素对象相互组合,就会出现数组元素类型不匹配异常。试图将错误类型的对象储存到一个对象数组时抛出异常。
ClassCastException强制类型转换异常在进行转换时,转换的两个类型不匹配,就会发生异常。
IndexOutOfBoundsException索引越界异常索引越界异常在某排序索引(例如对字符串或数组的排序)超出范围是抛出
NullPointerException空指针异常a.调用null对象的实例方法
b.访问或修改null对象的字段
c.应用程序应该抛出该类实例,只是其他对null对象的非法使用
NumberFornatException数字格式转换异常试图把一个字符串转换成一个数值类型,但这个字符串没有恰当的格式时就会抛出数字格式转换异常。
StringIndexOutException字符串索引越界异常用非法索引访问字符串抛出的异常
UnsupportedOperationException操作错误Arrays.asList()返回java.util.Arrays$ArrayList,而不是ArrayList。
ArithmeticException除0发生算数异常一个被除数为0
ClassNotFoundException找不到指定类时发生的异常a.当程序加载Class类中的forName()方法时,异常抛出。
NoSuchMethodException请求的方法不存在在构造时提供并通过getException()方法访问的"加载类是引发的可选异常",

3 java中处理异常的方式

java中的异常处理方式又两种:

a.使用try-catch进行捕获处理,将可能发生异常的代码放在try{}中进行捕获

	try {
		有可能出现异常的代码
	} catch (异常对象) {
	 	针对当前异常对象的处理方式
	}
	
	try {
		有可能出现异常的代码
	} catch (异常对象) {
	 	针对当前异常对象的处理方式
	} finally {
		无论代码异常情况如何处置,finally大括号以内内容一定会执行。一般用于资源处理。
	}
try{
    int i = 10/0;
}catch (ArithmeticException e){
    new throw ArithmeticException(e);
}

b.使用throw throws进行异常抛出

关键字:
	throw 
    	在方法中根据当前判断条件或者发生异常的情况,抛出异常到方法外
	throws
		在方法的声明位置,告知调用者当前方法有哪些异常抛出
public void test() throws ArithmeticException{
    if(i = 0){
        new throw ArithmeticException();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值