是Exception还是Throwable表示所有异常的基类

本文探讨了Java中异常处理的核心概念,分析了Exception和Throwable的区别与联系。Exception用于程序可能捕捉并处理的异常,而Throwable作为所有异常的基类,包括Exception和Error。深入理解这两者的关系对于有效管理程序运行时的异常至关重要。

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

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                  收藏 是Exception还是Throwable表示所有异常的基类 [问题点数:0分]


flyingice
ygxdha
等级:
结帖率:98.61%
楼主 发表于: 2003-02-09 05:44:35
书上讲,捕捉所有的异常用
catch(Exception e)
{
}


但Exception是从Throwable派生出来的,而且Throwable也可以抛出。
我今天就遇到一个 throw new Throwable() 语句。
这种情况使用Exception就捕获不了。。
所以我觉得把Throwable作为所以异常的基类比较好。。
大家有什么看法?


对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 | TOP 回复次数:8


leonzhao
灯泡
等级:
#1 得分:0 回复于: 2003-02-09 06:55:59
Throwable分Exception和Error,应用一般应该捕捉Exception。因为如果Error被抛出,证明是JVM或系统的致命错误,不是“异常”。


至于throw new Throwable()如果没有很好的解释,写这句话的人一定是变态……
第三、四期“Hadoop技术赢门票”活动:聚焦HIVE与HDFS对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 | TOP


gundam_king
东方不败
等级:
#2 得分:0 回复于: 2003-02-09 09:04:16
所有异常类型都是内置类Throwable的子类。因此,Throwable在异常类层次结构的顶层。紧接着Throwable下面的是两个把异常分成两个不同分支的子类。一个分支是Exception。该类用于用户程序可能捕捉的异常情况。它也是你可以用来创建你自己用户异常类型子类的类。另一类分支由Error作为顶层,Error定义了在通常环境下不希望被程序捕获的异常。Error类型的异常用于Java运行时系统来显示与运行时系统本身有关的错误。但是它们通常是灾难性的致命错误,不是你的程序可以控制的。
【免费】解读海外市场营销奥秘 对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 | TOP


Mailbomb
网络咖啡
等级:
#3 得分:0 回复于: 2003-02-09 10:17:49
up
谁将现身微软TechEd 2012中国技术大会?对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 | TOP


hayai
生命树
等级:
#4 得分:0 回复于: 2003-02-09 11:10:50
同意灯泡关于变态的品德评语,在我的实践中,如果可以用RuntimeException来包装一个非RuntimeException可以让程序变得非常好写。事实上,我们有自己写的DException extends RuntimeException which可以包装一个Throwable instance.
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 | TOP


takecare
大厅
等级:
#5 得分:0 回复于: 2003-02-09 11:29:06
说得好!向你们学习!           

给我老师的人工智能教程打call!http://blog.youkuaiyun.com/jiangjunshow
这里写图片描述
【为什么还需要学习C++?】 你是否接触很多语言,但从来没有了解过编程语言的本质?你是否想成为一名资深开发人员,想开发别人做不了的高性能程序?你是否经常想要窥探大型企业级开发工程的思路,但苦于没有基础只能望洋兴叹? 那么C++就是你个人能力提升,职业之路进阶的不二之选。【课程特色】 1.课程共19大章节,239课时内容,涵盖数据结构、函数、类、指针、标准库全部知识体系。2.带你从知识与思想的层面从0构建C++知识框架,分析大型项目实践思路,为你打下坚实的基础。3.李宁老师结合4大国外顶级C++著作的精华为大家推出的《征服C++11》课程。【学完后我将达到什么水平?】 1.对C++的各个知识能够熟练配置、开发、部署;2.吊打一切关于C++的笔试面试题;3.面向物联网的“嵌入式”和面向大型化的“分布式”开发,掌握职业钥匙,把握行业先机。【面向人群】 1.希望一站式快速入门的C++初学者; 2.希望快速学习 C++、掌握编程要义、修炼内功的开发者; 3.有志于挑战更高级的开发项目,成为资深开发的工程师。 【课程设计】 本课程包含3大模块基础篇本篇主要讲解c++的基础概念,包含数据类型、运算符等基本语法,数组、指针、字符串等基本词法,循环、函数、类等基本句法等。进阶篇本篇主要讲解编程中常用的一些技能,包含类的高级技术、类的继承、编译链接和命名空间等。提升篇:本篇可以帮助学员更加高效的进行c++开发,其中包含类型转换、文件操作、异常处理、代码重用等内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值