Java Exception 异常机制(4) -- RuntimeException Checked Error 不同

Java Exception 异常机制(4) – RuntimeException Checked Error 不同

lalala.大家好,我是佛系码农 Ted,一个和你一样渴望成为大牛的low级程序员!

如果以下的内容有帮到你,请一定要动动你可爱的小手指,点赞,转载,评论,帮我来个全套大保健啊~~~

这里写图片描述

一、Error


Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题。比如:内存资源不足等。对于这种错误,程序基本无能为力,除了退出运行外别无选择,它是由Java虚拟机抛出的。

二、Exception


异常Exception又被分为两大类:Checked异常和Runtime异常
所有RuntimeException类及其子类实例被称为Runtime异常;不是RuntimeException类及其子类的异常实例则称为Checked异常

checked exception 和runtime exception在机制和逻辑俩方面有本质的区别

1. 机制方面

## 1.1 Checked Exception

产生异常,编译器强制要求进行处理,产生编译报错

处理办法:

  • 当前方法明确知道如何处理该异常,程序应该使用try…catch块来捕获该异常,然后对应的catch块中修补该异常。
  • 进行上抛thorws 或 thow ,交由调命令者进行处理

常见的Checked异常一般和IO相关 如:FileNotFoundException

##1.2 Runtime Exception

Runtime异常无须显式声明抛出,无须事些进行异常处理

2. 逻辑方面

我个人作为开发人员来看
checked exception 更多是开发人员事些已经知道有一定概率的异常,对这些特定的异常进行捕捉,处理,从而避免程序在异常处宕机(比如IO Exception 程序IO开销时,往往会产”不可思议”的异常),个人感觉自定义异常和此checked exception 一定程度上的功能相似
而runtime exception的产生必然会使程序中止,开发人必须停止程序后对代码进行修改,这也是程序的目的,希望错误不被隐藏 ; 就运用来看的,比如我们在调用别人封装好的方法(如jdk自带的数组类的方法),如果传入不合法的值(如产生数组越界的情况),产生不可处理的错误,抛出runtime exception,程序必然需要中止

好了,今天的分享先到这了~~~

请收下我恭敬的膝盖

猜你喜欢

转载自blog.csdn.net/ted_cs/article/details/82453404
今日推荐