Java中的异常包含哪些?

        Java中的异常主要分为两大类:检查型异常Checked Exceptions) 和 非检查型异常Unchecked Exceptions)。

        下面是详细的分类:

检查型异常(Checked Exceptions


检查型异常必须被显式地捕获或者通过方法签名声明抛出。这类异常通常对应于可以预测并且可以恢复的错误情况。

IOException 及其子类:涉及输入输出操作时可能发生的异常。
ClassNotFoundException:当应用试图通过其完全限定名称加载类,但无法找到该类的定义时抛出。
SQLException:数据库访问错误时抛出。
FileNotFoundException:当试图打开一个不存在的文件进行读取或写入时抛出。
CloneNotSupportedException:当调用Object.clone()方法,但该对象的类没有实现Cloneable接口时抛出。


非检查型异常(Unchecked Exceptions


非检查型异常不需要显式地捕获,也不需要在方法签名中声明。这类异常通常对应于编程错误

RuntimeException 及其子类:
ArithmeticException:算术错误,如除以零。
ArrayIndexOutOfBoundsException:访问数组时下标越界。
ClassCastException:类型转换时发生错误。
IllegalArgumentException:传递给方法的参数不合法。
IllegalStateException:环境或应用状态不正确。
NullPointerException:在需要对象的地方传递了null值。
NumberFormatException:数字格式错误,如将非数字字符串转换为数字时。
Error:表示合理的应用程序不应该试图捕获的严重问题。
OutOfMemoryError:JVM没有足够的内存来为对象分配空间,并且垃圾收集器也无法提供更多内存时。
StackOverflowError:当应用程序递归太深而无法再分配栈空间时。


异常处理


Java提供了几种机制来处理异常:

try-catch 块:用于捕获并处理异常。
finally 块:无论是否发生异常,都执行的代码块。
throws 关键字:在方法签名中使用,表示该方法可能会抛出异常。
throw 关键字:用于显式地抛出异常。


通过以上分类,可以看出Java异常处理机制的丰富性和灵活性,它允许开发者以结构化和可控制的方式来处理程序执行中可能出现的错误情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值