Java异常处理详解

关键字

Java中的异常处理机制由关键字:try catch finally throw 和 throws组成。

异常类型

Java可抛出的结构分为三种类型:被检查的异常CheckedException,运行时异常RuntimeException和错误Error

运行时异常(RuntimeException)

定义:RuntimeException及其子类都被称为运行时异常
特点:Java编译器不会检查他,也就是说,当程序中可能出现这类异常时,没有通过throws显式的声明抛出它,也没有用try-catch捕获它,还是会编译通过。例如当除数为0时产生的ArithmeticException,数组越界产生的IndexOutOfBoundsException,某一个引用为空的NullPointerException等,都属于运行时异常。

常见的运行时异常有:

1.NullPointerException 空指针引用异常
2.ClassCastException 类型强制转换异常
3.IllegalArgumentException 传递参数非法异常
4.ArithmeticException 算数运算异常
5.ArrayStoreException 向数组中存放与声明类型不匹配的对象异常
6.IndexOutOfBoundsException 数组下标越界异常
7.NegativeArraySizeException 创建一个大小为负数的数组错误异常
8.NumberFormatException 数字格式异常
9.SecurityException 安全异常
10.UnsupportedOperationException 不支持的操作异常

被检查异常

定义:Exception类本身,以及Exception的子类中除了运行时异常之外的其他子类都属于被检查异常
特点:Java编译器会检查它,此类异常要么通过throws进行声明抛出,要么通过try-catch进行捕获处理,而不能通过编译,例如IO异常中IOException就可能在读写文件时发生,但发生的本身是不预期的,所以Checked异常需要程序显式的处理,虽然大多数情况下这个异常不会真的发生。

常见的被检查异常

IOException IO异常
FileNotFoundException 文件不存在
SQLException SQL异常

错误

定义:Error及其子类
特点:和运行时异常一样,编译器不会对其进行检查,当资源不足,约束失败,或其他条件使程序无法继续运行时,就会产生错误,程序本身无法修复这些错误。例如,VirtuaMachineError就属于错误,出现这种情况就会导致程序终止,OutOfMemoryError ThreadDeath

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 异常处理是为了让程序更加健壮,当程序遇到错误或异常情况时,能够正确处理异常并给出有意义的反馈,而不是直接崩溃。异常处理的基本语法包括使用 try-catch-finally 块来捕获和处理异常。在编写 Java 代码时,需要注意处理 Checked 异常,避免将 Unchecked 异常泄露到用户界面。此外,还可以使用 assert 关键字、异常链、异常屏蔽和自定义的异常处理器等异常处理技巧来提高程序的健壮性和稳定性。在实际开发中,也可以借助一些优秀的开源 Java 异常处理库来简化异常处理的工作,例如 log4j、Apache Commons Lang、Guava 和 Sentry 等。\[1\]\[3\] #### 引用[.reference_title] - *1* *3* [Java 异常处理详解](https://blog.csdn.net/u012581020/article/details/130657212)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [2020-11-08](https://blog.csdn.net/weixin_39743450/article/details/109558433)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值