文章目录

  • 检查型异常和非检查型异常——Java
    • 检查型异常
    • 非检查型异常
    • 结语

检查型异常和非检查型异常——Java

Java语言规范将派生于Error类或RuntimeExceprion类的所有异常称为非检查型(unchecked)异常,所有其他的异常称为检查型(checked)异常。这是个很有用的术语。
Java中的异常类型分布:

但是,单单这样理解有些困难,我查了一些资料,用一些简单的语言来解释它们。

检查型异常

检查型异常,简单来说就是在现实中无法避免的,我们在设计程序时无法预知的异常抛出。例如:读取一个文件的内容。如果这个文件不存在或者程序没有读取权限时,就会抛出一个异常。我们必须要用throws声明它会出现的异常类型,或者用try...catch来捕获异常,并指明出现错误时要执行的操作。例如:

  1. 试图超越文件末尾继续读取数据;
  2. 试图打开一个不存在的文件;
  3. 试图根据给定的字符串查找 Class 对象,而这个字符串表示的类并不存在。

这类检查型异常必须要在代码中声明出来,它是不可避免和预知的。如果没有声明,集成开发环境IDE将会报错!它会帮我们检查,故称 检查型异常

这类异常我们必须要解决。

非检查型异常

非检查型异常,就是在代码实现阶段就可以预知和避免的一些异常,例如从 RuntimeExcrption类Error类 中继承的那些非检查型异常,RuntimeExcrption类包括:

  1. 错误的强制类型转换;
  2. 数组访问越界;
  3. 访问null指针。

这些异常不需要在代码中生命,IDE也不会报错指出。这些异常我们完全有能力去避免和预知,IED不会帮我们检查这其中的错误!故称为 非检查型异常

同时,我们也不需要声明Java的内部错误,即从 Error类 继承的异常。任何程序代码都可能抛出那样的异常,而我们对此完全无法控制。

结语

这就是对在Java中,检查型异常和非检查型异常的简单浅显理解,希望对Java的初学者有所帮助。

检查型异常和非检查型异常——Java相关推荐

  1. java非检查性异常有哪些_Java异常处理-检查性异常、非检查性异常、Error

    一.Java异常处理详解 异常.png 目录: 1.java中异常的分类 1.1 异常(Exception) 1.1.1 运行时异常(RuntimeException) 可以不需要捕获 1.1.2 编 ...

  2. 检查异常和非检查异常 有空你去学一下检查异常和非检查异常

    https://blog.csdn.net/weixin_39220472/article/details/81056647 Java检查异常和非检查异常,运行时异常和非运行时异常的区别 灰太狼_cx ...

  3. Java检查异常、非检查异常、运行时异常、非运行时异常的区别

    Java检查异常.非检查异常.运行时异常.非运行时异常的区别 参考文章: (1)Java检查异常.非检查异常.运行时异常.非运行时异常的区别 (2)https://www.cnblogs.com/ou ...

  4. java运行时异常的特点是什么_Java运行时异常和非运行时异常

    1.Java异常机制 Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类.Java中的异常分为两大类:错误Error和异常Exception,Java ...

  5. 运行时异常与非运行时异常有什么区别?

    运行时异常与非运行时异常有什么区别? 运行时异常 RuntimeException 又称为非检查异常 uncheck exception.是 Exception 的子类. 在 Java 中,异常可以分 ...

  6. Java运行时异常和非运行时异常

    1.Java异常机制 Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类.Java中的异常分为两大类:错误Error和异常Exception,Java ...

  7. 运行时异常和非运行时异常

    [强制]Java 类库中定义的可以通过预检查方式规避的RuntimeException异常不应该通过catch 的方式来处理,比如:NullPointerException,IndexOutOfBou ...

  8. Java基础——运行时异常和非运行时异常

    文章目录 Java中异常机制的体系结构 Error(错误) Exception(异常) 运行时异常和非运行时异常的区别 结束 Java中异常机制的体系结构 在Java中,万物皆对象,异常也不例外. E ...

  9. Java 运行时异常和非运行时异常

    异常类型分为两类:运行时异常和非运行时异常. 一.运行时异常: 运行时异常(RuntimeException),一般不需要程序员进行捕获. 例如:NullPointException,IndexOut ...

最新文章

  1. XPath crash course note
  2. 人工智能改变未来教育的5大方式
  3. SQL Server 2012--Reporting Service报表阅览工具 - Power View【转载】
  4. 来晚了--SALTSTACK要弄起
  5. Apache2.4中开通HTTP基本认证
  6. H5在原生手机上显示选中文字效果
  7. python苦逼_自学Python编程的第六天(最后代码有更好的请告诉我)----------来自苦逼的转行人...
  8. 伯克利、OpenAI等提出基于模型的元策略优化强化学习
  9. android adb 模拟来电,在Android模拟器中模拟GPS、打电话、发短信……
  10. L1-007. 念数字-PAT团体程序设计天梯赛GPLT
  11. 面向对象 “上”
  12. pytorch-使用GPU加速模型训练
  13. JQuery easyui (1) Draggable(拖动)组件
  14. APUE---chap6系统数据文件和信息---6.2~6.4 6.10
  15. 0xe06d7363怎么解决(0xe06d7363怎么解决DNF)
  16. MySQL查询不同年份母亲节_计算某年母亲节是哪一天_晴空呐的博客-CSDN博客
  17. 我的脚本-一键禁用启用笔记本自带键盘
  18. java毕业设计智能小区物业管理系统Mybatis+系统+数据库+调试部署
  19. UTF-8、en_US.UTF-8和zh_CN.UTF-8的区别
  20. GAN(生成对抗网络)和IQA(图像质量评价能擦出什么样的火花呢?)简单聊一些近来published的论文

热门文章

  1. nodemailer邮件服务配置
  2. php设置对ws的请求不拦截,phpsocket服务端能不能在网页端开启?而不是只能用CLI模式开启...
  3. Oracle面试锦囊
  4. 支付宝支付APP服务端PHP
  5. Dotween SetEase Ease缓动函数
  6. ESXi更新安全补丁(6.7为例)
  7. 5000字创业日记:创业4个月,我到底做了哪些事情
  8. 音乐计算机ut乐谱大全,电子钢琴乐谱
  9. 【java】 集合类-2
  10. “网络发现”不能启用问题的答案