Java学习笔记------异常

异常

程序运行时可能出现的一些错误

异常是一个程序执行期间发生的事件,中断了正在执行的正常指令流

处理程序异常错误

错误

异常产生后不做任何处理就会被终止

捕捉异常

语法:

try{
    
}catch(Exceptiontype e){
    //对Exceptiontype的处理
}finally{
    
}
try-catch语句块

将可能出现的异常进行异常处理

finally语句块

完整异常处理语句必须包括finally,无论程序有无异常发生,无论try-catch是否执行完毕,都会执行finally

有四种情况finally不会执行:

1.finally语句块发生了异常

2.前面使用了System.exit()退出程序

3.程序所在线程死亡

4.关闭CPU

Java常见异常

异常类说明
ClassCastException类型转换异常
ClassNotFoundException未找到相应类
ArithmeticException算术异常
ArrayIndexOutOfBoundsException数组下标越界
ArrayStoreException数组包含不兼容值
SQLException操作数据库异常
NullPointException空指针
NoSuchFieldException字段未找到
NoSuchMethodException方法未找到
NumberFormatException字符串转为数字抛出
NegativeArraySizeException数组长度为负
StringIndexOutOfBoundsException字符串索引超出范围
IOException输入输出异常
IllegalAccessException不允许访问某类
InstantiationException指定对象无法实例化
EOFException文件已结束
FileNotFoundException文件未找到

自定义异常

使用自定义异常步骤:

1.创建自定义异常类

2.在方法中通过throw抛出异常对象

3.要在抛出异常的方法中处理可使用try-catch捕获,否则在声明处通过throws指明要抛出给方法使用者的异常,继续下一步操作

4.在出现异常方法的调用者中捕获并处理方法

抛出异常

用法:方法中可能会发生异常,但不想在当前方法中立刻处理

throws

常被应用在声明方法时,用来指定方法肯抛出的异常,多个异常用逗号隔开

异常抛给上一级后如果不想处理可以继续上抛,但必须要有能处理该异常的代码

throw

用于方法体中,并抛出一个对象,执行到throw语句时立刻终止,其后面的语句都不执行

若想在上一级捕获并处理异常,需要在抛出异常的方法中使用throws声明中指明要抛出的异常;

要捕捉throw抛出的异常必须使用try-catch

运行时异常

Java类库每个包都定义了异常类,异常类都是Throwable类的子类,该类又派生了Excption类和Error类

Error描述Java运行系统内部错误及资源耗尽的错误

Excption分为运行时异常和除运行时异常外的异常

常见运行时异常:

种类说明
NullPointException空指针
ArrayIndexOutOfBoundsException数组下标越界
ArithmeticException算术异常
ArrayStoreException数组包含不兼容值
IllegalArgumentException非法参数
SecurityException安全性异常
NegativeArraySizeException数组长度为负

异常使用原则

1.使用try-catch语句捕获异常

2.一个方法被覆盖时,覆盖他的方法必须抛出相同的异常或异常的子类

3.如果父类抛出多个异常,覆盖方法必须抛出异常的一个子集,不能抛出新异常

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值