Java异常处理

本文详细介绍了Java中的异常处理机制,包括常见的异常类型如ClassNotFoundException、IOException等,以及错误(Error)的概念。文章还阐述了异常和错误之间的区别,并解释了断言(assert)的作用及使用方法。此外,文中还对比了throw和throws关键字的不同之处。

 

Java异常处理

 

1、常见异常:

 

(1)由Exception直接派生的子类:ClassNotFoundException(类找不到)、InterruptedException(中断异常)、IOException(输入输出异常)、IllegalAccessException(非法访问异常)、NoSuchMethodException(方法找不到)、RuntimeException(运行时异常)等。

(2)RuntimeException子类:ArithmeticException(算术异常)、ClassCastException(类型强转异常)、IllegalArgumentException(非法参数)、IndexOutOfBoundsException(下标越界)、NoSuchElementException(没有这个元素)等。

(3)IllegalArgumentException子类:IllegalFormatException(非法格式)、NumberFormatException(数字格式异常)等。

(4)IndexOutOfBoundsException子类:ArrayIndexOutOfBoundsException(数组下标越界)、StringIndexOutOfBoundsException(字符串下标越界)。

 

关系树

 

2、错误(Error):

 

AssertionError(断言错误)、VirtualMachineError(虚拟机错误)、LinkageError(类连接错误)、InternalError(内部错误)、OutOfMemoryError(内存溢出)、StackOverflowError(栈溢出)。

 

关系树:

 

3、异常和错误的区别:

(1)错误比异常严重,异常可以捕获并处理,但是错误发生之后不能捕获处理,程序非正常结束。

 

4、断言:

(1)断言语句指武断宣称某条件必须成立的语句。如:断言除法运算中除数必须大于0,则这个条件成立时才能进行除法运算;不成立则发生断言错误。

(2)断言语句可以执行必须依赖一个条件:Java虚拟机必须开启断言状态。默认情况下虚拟机断言状态是不会开启的,需要在命令行开启该状态:java –ea 主类名   如果不开启断言状态,则自动忽略断言语句。

(3)断言语句格式:

assert 条件表达式

assert 条件表达式 : 字符串类型断言消息(该消息用于程序终止之前显示)

 

5、throw和throws的区别:

(1)throw在方法体中,而throws在方法声明中(方法头、函数头)。

(2)执行throw语句一定抛出某异常,但是throws表示声明可能会出现的异常,并不一定会抛出异常。

 

6、try catch finally语句:

这里不再介绍 ^-^

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值