https://zhidao.baidu.com/question/519014936.html

所谓checked exception和runtime exception
checked exception告知外部用户此方法在某些情况下可能抛出这个错误,你应该捕获并处理错误以便程序在可能的情况下能够继续运行下去(当然你也可以通过throws声明将异常再往上层暴露,但终究有一层是要去catch这个异常的)。这些错误往往是可预期而且可以作为异常流来处理的。checked exception作为语法上的一种强制措施让你在代码编译阶段就必须对异常进行处理。

比如IOException,当你打开、读取、写入文件时可能抛出这个错。你可以捕获并提示最终用户『文件操作失败,请重试』等信息,而不是任由它抛到JVM中导致当前线程挂掉而runtime exception可能产生于运行时的一些不可预知的时刻,而且往往产生后没有有效的手段处理,因此不需要强制对其进行声明和捕获。

你可以认为checked exception就是要强制你去处理这个异常(不管你throws多少层,你终归要在某个地方catch它);而runtime exception则没有这个限制,你可以自由选择是否catch。

=== 分割线 ===

事实上我觉得checked exception是一个非常2B的设计,很多语言中都没有这种设计。API设计并不需要这种强制处理的错误,可以通过封装返回值来做到更友好的处理。

还有一类error

Error表示程序在运行期间出现了十分严重、不可恢复的错误,在这种情况下应用程序只能中止运行,例如JAVA 虚拟机出现错误。Error是一种unchecked Exception,编译器不会检查Error是否被处理,在程序中不用捕获Error类型的异常;一般情况下,在程序中也不应该抛出Error类型的异常。

转载于:https://www.cnblogs.com/silyvin/p/9106718.html

checked exception和runtime exception and error相关推荐

  1. check在java意思吗_谈谈Java:Checked Exception与 unCheckException Runtime Exception 的区别...

    Java里有个很重要的特色是Exception ,也就是说允许程序产生例外状况.而在学Java 的时候,我们也只知道Exception 的写法,却未必真能了解不同种类的Exception 的区别. 首 ...

  2. 通俗理解checked Exception和unchecked Exception

    首先放一张Java异常层次结构图: 错误(Error)和异常(Exception)是不同的. Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题.大多数错误与代码编写者执行的操作无 ...

  3. Checked exception及Unchecked exception对比

    一.异常分类 从异常处理机制的角度可以分为两类,Unchecked Exceptions和Checked Exceptions.Check即编译器检查程序是否已经抛出或处理了可能的异常.Uncheck ...

  4. Hudi同步Hive表报“HoodieException : Got runtime exception when hive syncing”错误的解决方法

    1 问题描述 闯过第二关之后,普通的元数据同步基本就没什么问题了.但是当遇到下面这种场景时,同步再次"翻了车": 如果在一个SparkSession下,先读取一个Hudi数据集,得 ...

  5. 记一次Jenkins 打包异常 ERROR: Exception when publishing, exception message [Failure]

    记一次Jenkins 打包异常 ERROR: Exception when publishing, exception message [Failure] 参考文章: (1)记一次Jenkins 打包 ...

  6. 最常见到的runtime exception 异常

    最常见到的runtime exception 异常 参考文章: (1)最常见到的runtime exception 异常 (2)https://www.cnblogs.com/jack4738/p/6 ...

  7. Jenkins发版常见问题:ERROR: Exception when publishing, exception message [Failure]

    Jenkins 报错日志: ERROR: Exception when publishing, exception message [Failure] Build step 'Send build a ...

  8. ERROR: Exception when publishing, exception message

    jenkins出现ERROR: Exception when publishing, exception message ERROR: Exception when publishing, excep ...

  9. nested exception is javax.persistence.RollbackException: Error while commiting the transaction

    org.springframework.transaction.TransactionSystemException: Could not commit JPA transaction; nested ...

  10. Python多线程 坑Unhandled exception in thread started by Error in sys.excepthook

    先给大家推荐翻滚吧挨踢男的博客Python菜鸟学习手册15----多线程写的又有趣又易于理解 第一个demo我就踩了一次坑: def foo(tag, delay):count = 0while co ...

最新文章

  1. AI矢量绘图软件技能学习视频教程
  2. kafka streams_如何使用Kafka Streams实施更改数据捕获
  3. lisp的vla函数画矩形_python之:tkinter画哆啦A梦
  4. C++自定义函数实现灰度图转化
  5. 第六讲:PrintClient工具的使用
  6. 支持向量回归代码_RDKit:基于支持向量回归(SVR)预测logP
  7. 查看计算机或网络资源列表的命令,dos命令net view图文教程,显示网络计算机列表查看共享资源...
  8. QPushButton/QLabel在鼠标悬浮(划过, hover)、选中(单击, pressed)状态下更换图标样式
  9. element中form表单resetFields()方法重置表单无效
  10. VUE前端+Node后台模拟打印机Web即时打印
  11. 全国所有火车站(12306官方客运营业站站点)很全!!
  12. 为什么DDR电源设计时需要VTT电源?
  13. NLP学习笔记14-语言模型(下)
  14. Freeswitch服务+语音网关设备发送短信功能
  15. 图神经网络对抗攻击的研究学习(一)
  16. HDMI Type A、B、C、D接口图
  17. [渝粤教育] 西安交通大学 环境工程设计与管理 参考 资料
  18. 周易六十四卦——需卦
  19. 特征工程--特征离散化的意义
  20. 20161221windows的snmp端口号更改

热门文章

  1. (8)Python_分割numpy数组
  2. 基于umi写一个用户管理CRUD
  3. 常见排序算法的python实现
  4. iview 自定义时间选择器组件_视图更新科技发布View UI组件库(即 iView 4.0),超过50项更新...
  5. ubuntu开机自启动脚本
  6. 【GCN+AE代码逐行学习】参考资料记录
  7. R-CNN学习笔记2:Rich feature hierarchies for accurate object detection and semantic segmentation
  8. 构造方法之间如何调用?
  9. return、break、continue三者的区别
  10. linux shell 字典 定义 新增元素