Java基础之Java标准异常

本文探讨了Java中的异常体系,包括Error和Exception的区别。重点讲述了IOException及其在异常处理中的角色,强调它不属于RuntimeExceptoin。还提到了Java自动处理的NullPointerException以及RuntimeExceptoin的特点和使用场景。异常处理的概念和重要性也被提及。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问:Java中有哪些异常?IO异常属于RuntimeException吗?
在这里插入图片描述
Throwable这个Java类被用来表示任何可以作为异常被抛出的类。 Throwable对象可分为两种类型(指从 Throwable继承而得到的类型):Eror用来表示编译时和系统错误(除特殊情况外,一般不用你关心); Exception是可以被抛出的基本类型,在Java类库、用户方法以及运行时故障中都可能抛出 Exception型异常。所以Java程序员关心的基类型通常是 Exception

要想对异常有全面的了解,最好去浏览一下HTML格式的Java文档(可以从java.sun.com下载)。为了对不同的异常有个感性的认识,这么做是值得的。但很快你就会发现,这些异常除了名称外其实都差不多。同时,Java中异常的数目在持续增加,所以在书中简单罗列它们毫无意义。所使用的第三方类库也可能会有自己的异常。对异常来说,关键是理解概念以及如何使用。

异常的基本的概念是用名称代表发生的问题,并且异常的名称应该可以望文知意。异常并非全是在 java.lang包里定义的;有些异常是用来支持其他像util、net和io这样的程序包,这些异常可以通过它们的完整名称或者从它们的父类中看出端倪。比如,所有的输入/输出异常都是从Java. io Ioexception继承而来的。

如果必须对传递给方法的每个引用都检查其是否为nu(因为无法确定调用者是否传入了非法引用),这听起来着实吓人。幸运的是,这不必由你亲自来做,它属于Java的标准运行时检测的一部分。如果对nul引用进行调用,Java会自动抛出 Nullpointerexception异常,所以上述代码是多余的,尽管你也许想要执行其他的检查以确保 Nullpointerexception不会出现。

属于运行时异常的类型有很多,它们会自动被Java虚拟机抛出,所以不必在异常说明中把它们列出来。这些异常都是从 Runtimeexception类继承而来,所以既体现了继承的优点,使用起来也很方便。这构成了一组具有相同特征和行为的异常类型。并且,也不再需要在异常说明中声明方法将抛出 Runtimeexception类型的异常(或者任何从 Runtimeexception继承的异常),它们也被称为“不受检查异常”。这种异常属于错误,将被自动捕获,就不用你亲自动手了。要是自己去检査 Runtimeexception的话,代码就显得太混乱了。不过尽管通常不用捕获Runtimeexception异常,但还是可以在代码中抛出 Runtimeexception类型的异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小丸子呢

致力于源码分析,期待您的激励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值