Error和Exception,Checked异常和Runtime异常的区别

首先我们先看异常体系图:
在这里插入图片描述
Error:表示仅靠程序本身无法恢复的严重错误,比如内存溢出,动态连接异常,虚拟机错误。应用程序不应该抛出这种类型的对象。加入出现这种错误,除了尽了是程序安全退出外,在其他方面是无能无力的。所以在进行程序设计时,应该跟关注Exception类。

简言之就是我们程序员解决不了这些网络,硬件等错误
Exception:包括编译期异常和运行期异常。
由Java应用程序抛出和处理的非严重错误,比如所需文件没有找到、零作除数,数组下标越界等。它的各种不同子类分别对应不同类型异常。可分为两类:Checked异常和Runtime异常。
Checked异常和Runtime异常的区别
1、运行时异常:包括RuntimeException及其所有子类。不要求程序必须对它们作出处理,比如InputMismatchException、ArithmeticException、NullPointerException等。即使没有使用try-catch或throws进行处理,仍旧可以进行编译和运行。如果运行时发生异常,会输出异常的堆栈信息并中止程序执行。
2、Checked异常(非运行时异常):除了运行时异常外的其他异常类都是Checked异常。程序必须捕获或者声明抛出这种异常,否则出现编译错误,无法通过编译。处理方式包括两种:通过try-catch捕获异常,通过throws声明抛出异常从而交给上一级调用方法处理。
简言之就是Checked必须捕获异常而运行期不用,RuntimeException异常多说明,程序员的代码能力太low

发布了219 篇原创文章 · 获赞 352 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/qq_42859864/article/details/103571483