throwable和Exception的区别(详细一点)

 我来答
猴猴炒猴猴
高粉答主

2018-10-24 · 关注我不会让你失望
知道大有可为答主
回答量:7005
采纳率:85%
帮助的人:378万
展开全部

throwable和exception的区别:

1、throwable是父类,exception是子类。

2、throwable是根基,exception是从throwable派生出来的。

3、throwable中包括exception(异常)和error(错误)。

4、throwable用来定义所有可以作为异常被抛出来的类,exception专指程序本身可以处理的异常,一般性的异常。

在Java程序中,所有异常对象的根基类是Throwable,Throwable从Object直接继承而来(这是Java系统所强制要求的)。Throwable有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。

扩展资料:

Error(错误)是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。Exception(异常)是程序本身可以处理的异常。

Error是一种严重的问题,应用程序不应该捕捉它。 Exception一般可能是程序和业务上的错误,是可以恢复的。

魔法森林小主
2018-11-18 · TA获得超过3404个赞
知道答主
回答量:35
采纳率:0%
帮助的人:2075
展开全部

1、Throwable是java.lang包中一个专门用来处理异常的类。它有两个子类,即Error 和Exception,它们分别用来处理两组异常。

2、Throwable类是整个异常体系类的“父级类”,当然最终追根溯源到底的父类当然要归于Object类。

Throwable类实现了Serializable接口,表示Throwable可以进行序列化,继承自Object类,他的子类主要是Error和Exception类还有一个StackRecorder类。

3、Exception是Throwable的一个主要子类。Exception下面还有子类,其中一部分子类分别对应于Java程序运行时常常遇到的各种异常的处理,其中包括隐式异常。

比如,程序中除数为0引起的错误、数组下标越界错误等,这类异常也称为运行时异常,因为它们虽然是由程序本身引起的异常,但不是程序主动抛出的,而是在程序运行中产生的。

4、子类Error和Exception

Exception 则表示一般性的异常,而且这种异常是设计中早已考虑到很常见的错误,并且一定要求在设计中说明如果处理这种异常。

Error主要是用于表示Java和虚拟机内部的异常信息,而Exception异常则是由于程序中可能存在各种的问题,是需要使用者去注意和捕获的异常。

扩展资料

子类Error和Exception

Exception 则表示一般性的异常,而且这种异常是设计中早已考虑到很常见的错误,并且一定要求在设计中说明如果处理这种异常。

Error主要是用于表示Java和虚拟机内部的异常信息,而Exception异常则是由于程序中可能存在各种的问题,是需要使用者去注意和捕获的异常。

参考资料:百度百科—Exception

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尚学堂大数据学院
2021-01-04 · 让人人享有高品质教育
尚学堂大数据学院
向TA提问
展开全部
Exception和Error都是继承了Throwable类,在java中只有Throwable类型的实例才可以被抛出(throw)或者捕获(catch),他是异常处理机制的基本组成类型。

Exception和Error体现了java平台设计者对不同异常情况的分类,Exception是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应的处理。

Error是指正常情况下,不大可能出现的情况,绝大部分的Error都会导致程序(比如JVM自身)处于非正常状态,不可恢复状态。既然是非正常情况,所以不便于也不需要捕获,常见的比如OutOfMemoryError之类,都是Error的子类。

Exception又分为可检查(checked)异常和不检查(unchecked)异常,可检查异常在源码里必须显示的进行捕获处理,这里是编译期检查的一部分。前面我们介绍的不可查的Error,是Throwable不是Exception。

不检查异常就是所谓的运行时异常,类似NullPointerException,ArrayIndexOutOfBoundsExceptin之类,通常是可以编码避免的逻辑错误,具体根据需要来判断是否需要捕获,并不会在编译器强制要求。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zh__ming
推荐于2017-09-24 · TA获得超过426个赞
知道答主
回答量:118
采纳率:100%
帮助的人:74万
展开全部
看下API:
throwable:所有已实现的接口:
Serializable
直接已知子类:
Error, Exception

Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。
两个子类的实例,Error 和 Exception,通常用于指示发生了异常情况。通常,这些实例是在异常情况的上下文中新近创建的,因此包含了相关的信息(比如堆栈跟踪数据)。

Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式