Java 核心36讲(第2讲) Exception 和 Error 有什么区别

共同点

都是从 Throwable 这个 Java 类继承来的。Throwable 类也就衍生出这两种类型。

不同点

Error:

表示编译时和系统错误,指在正常情况下,不大可能出现的情况。绝大部分的 Error 都会导致程序不可恢复。

Exception:

是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,并进行相应的处理。
Exception 又分为检查型异常 (check exception) 与 非检查型异常 (unchecked exception) 。检查型异常是在编译期检查,非检查型异常就是运行时异常。运行时异常都是从 RuntimeException 继承来的,这种异常属于错误,将被自动捕获。

补充

1、理解 Throwable、Exception、Error 的设计和分类。

面试官会追问一些细节,如:你了解哪些 Error、Exception、RuntimeException? 重点了解一下常用的子类。

经典问题:NoClassDefFoundError 与 ClassNotFoundException的区别。

NoClassDefFoundError 产生原因:如果 JVM 或者 ClassLoader 实例尝试加载类的时候却找不到类的定义,要查找的类在编译期存在,运行时却找不到,造成该问题的原因可能是打包过程露掉了部分类,或者 jar 包出现损坏或者篡改。
ClassNotFoundException产生原因:1.Java 支持反射方式在运行时动态加载类,例如使用 Class.forName() 方法来动态的加载类时,可以将类名作为参数传递到上述方法中,从而将指定类加载到 JVM 内存中,如果这个类在类路径中没有被找到,就会抛出这个错误。常见问题在于书写名错误;2.当一个类已经被某个类加载器加载到内存中了,另一个类加载器又尝试着动态的从同一个包中加载这个类。通过控制动态类加载过程可以解决这个问题。

2、理解 Java 语言中操作 Throwable 的元素和实践。

掌握最基本的语法同时也要懂得如何处理典型场景。
典型场景是什么呢?待补充

异常处理基本原则

1.尽量不要捕获类似 Exception 这样的通用异常,应该捕获特定异常。

这样写为了让自己代码能够体现出更多的信息。

2.不要生吞异常。

在工作中,如果发生异常,不要使用 e.printStackTrace() 来输出异常,因为很难判断输出到哪里去了,最好使用产品日志,详细的输入到日志系统中。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,837评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,551评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,417评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,448评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,524评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,554评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,569评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,316评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,766评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,077评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,240评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,912评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,560评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,176评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,425评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,114评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,114评论 2 352

推荐阅读更多精彩内容

  • 微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 这周身体不适请了两天病假,只上...
    JavaFish阅读 353评论 0 0
  • 1.异常:这种情况下的异常,可以通过完善任务重试机制,当执行异常时,保存当前任务信息加入重试队列。重试的策略根据业...
    _Rice_阅读 2,216评论 0 0
  • 问题 请对比Exception和Error,另外,运行时异常与一般异常有什么区别? 典型回答 Exception和...
    wuchao226阅读 291评论 0 0
  • 八、深入理解java异常处理机制 引子try…catch…finally恐怕是大家再熟悉不过的语句了, 你的答案是...
    壹点零阅读 1,546评论 0 0
  • 人非圣贤孰能无过, 谁有过错, 问责当事双方, 别把家人卷入其中, 借唯一能说话的地方, 我再说一遍, 别把家人卷...
    张自芳阅读 268评论 0 2