今天准备花点时间把Java中的异常好好的总结一下,其实我在之前自己开发做一些小项目的时候是不太关注异常的处理,甚至很多小伙伴也是这样的。为什么呢?主要就是感觉做不做的好像都没什么关系,但其实并不是这样的,接下来我帮助大家搭建起异常的框架并让各位明白什么异常需要我们处理,什么异常不需要程序员去关注而Java会帮助我们解决掉。希望各位在看完后能够总结出异常体系的框架,否则时间久了很难去想起。看爽了记得点点赞!
第二篇:Java中的异常处理---第二篇(原理+具体实现和细节)-CSDN博客
异常的分类和体系?
异常是什么---异常是指在程序执行中发生的不正常情况统称为 “异常”,注意开发过程中的语法错误和逻辑错误并不属于异常,异常是指在程序执行过程中!
Java中异常是分为两大类:error和exception对应错误和异常(这两种统称为异常,exception虽然也叫异常但包含的不一样,exception包含两种异常:运行时异常和编译异常---不知道没关系接着看),这个地方不要混乱,一定要记住虽然叫法一样但包含的内容不一样,这个框架一定要搭建起来,Java中的异常是最顶层的。
error:在Java中error是指Java虚拟机无法解决的严重问题,出现这个问题的话是指JVM系统内部错误,资源耗尽,内存满了,栈溢出等情况,总之,error是指在JVM层面出错了,代码是可以正常运行的,至于你代码写的是什么是另外一回事I(例如你写递归故意把系统资源耗尽),但这个错误只要发生就是JVM层面的问题了。排查错误的话就是看看哪个文件执行耗费资源过多进一步优化。
exception:在Java中我们说异常其实普遍说的就是这部分(主要处理的异常也是这部分),前面提过exception分为两部分(运行时异常和编译异常)
当你打开异常类的继承图,你会发现有很多的类,不要慌!exception这部分,其实总体就分为运行时异常(RuntimeException)和编译异常(其他的),为什么这么分?根据处理时机不同,运行时异常只有在程序运行之后才会暴露问题,而编译异常是在你编写代码时,编译器就会提醒你(idea是红色波浪线)如果你不处理是无法启动程序的,而运行时异常时可以通过编译阶段的,只有当程序运行起来后才会报错。
根据这张图小结一下,图中的2,3,4行我们已经介绍完了,第5行,是具体的异常类---并不只有这么一点,异常类是非常多的,但常见的就这几个。
我们目前已经介绍了异常的分类,但如何处理异常呢?对待不同的异常情况处理方式也是不同的,因为篇幅原因,我将在下篇文章给大家去介绍如何去处理异常!大家看完这篇一定要有一个异常的分类框架,为后面异常处理打下基础!
第二篇:Java中的异常处理---第二篇(原理+具体实现和细节)-CSDN博客
麻烦大家点点赞和关注!我会持续更新,大年三十不歇业!