Java提供了两类主要的异常:runtime exception和checked exception。
 checked 异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。 但是另外一种异常:runtime exception,也称运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟机接管。比如:我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种异常还是最常见的异常之一。 出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,那么这整个程序也就退出了。运行时异常是Exception的子类,也有一般异常的特点,是可以被Catch块处理的。只不过往往我们不对他处理罢了。也就是说,你如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终止。 如果不想终止,则必须扑捉所有的运行时异常,决不让这个处理线程退出。队列里面出现异常数据了,正常的处理应该是把异常数据舍弃,然后记录日志。不应该由于异常数据而影响下面对正常数据的处理。在这个场景这样处理可能是一个比较好的应用,但并不代表在所有的场景你都应该如此。如果在其它场景,遇到了一些错误,如果退出程序比较好,这时你就可以不太理会运行时异常,或者是通过对异常的处理显式的控制程序退出。

运行时异常和检查性异常区别相关推荐

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

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

  2. [原创]如果软件在网络磁盘中或移动磁盘中运行时需要解决 exception C0000006 异常问题

    [原创]如果软件在网络磁盘中或移动磁盘中运行时需要解决 exception C0000006 异常问题 参考文章: (1)[原创]如果软件在网络磁盘中或移动磁盘中运行时需要解决 exception C ...

  3. JAVA运行时异常及检查式异常

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  4. java中检查性异常类_Java异常处理、java语言推崇使用检查类型异常

    异常处理是java语言的重要特性之一,<Three Rules for effective Exception Handling>一文中是这么解释的:它主要帮助我们在debug的过程中解决 ...

  5. java中编译类型的方法 和 运行时的类型方法 有什么区别

    1:引言 这是在复习多态当中,看到不太理解的东西, 就是 Java编译类型和运行类型 2:多态 多态首先得是在 有继承关系和方法重写的类当中:指同一个方法在被调用时,由于对象不同则会有不同的效果(). ...

  6. 运行时异常与检查异常区别

    首先,思考一个问题,看下面三个代码,当抛出异常时,后面的代码还会运行吗,是否要在异常后加上return语句? //代码1 public static void test() throws Except ...

  7. java检查型异常和非检查型异常(运行时异常)

    博客原文地址:https://www.cnblogs.com/tjudzj/p/7053980.html 这两个概念看了忘,碰着了又看,老是傻傻的分不清楚,今天把心得结合从网上搜的资料简单整理一下,希 ...

  8. 编译时异常与运行时异常

    在实际开发中,经常会在程序编译时产生一些异常,必须要对这些异常进行处理,这种异常称为编译时异常,也称为checked异常.另外,还有一种异常是在程序运行时产生的,这种异常即使不编写异常处理代码,依然可 ...

  9. cfree运行程序错误_Java 错误和异常汇总

    在Java中,根据错误性质将运行错误分为两大类:错误和异常. Java中的所有异常都是由Throwable类的子类生成的对象,所有的异常类都是Throwable类的子类或子类的子类.Throwable ...

最新文章

  1. jquery下载教程
  2. nginx搭建rtmp协议流媒体服务器总结
  3. docker 安装svn
  4. (Oracle学习笔记) sql语言
  5. libreoffice python 操作word及excel文档
  6. EncodingAESKey
  7. U盘安装ubuntu server 10.4
  8. 【李宏毅2020 ML/DL】P112-114 Q-Learning: Introduction Tips Continuous Actions
  9. 如何为复杂页面实现过渡页面
  10. 苹果Mac更改备忘录默认字体的方法图解
  11. 国内镜像源的使用,提高下载速度
  12. 【直击】腾讯SaaS加速器首期复试现场:122位CEO争夺30席入场券,激烈!
  13. oracle 取前行,【企业信息化研究所】TF-SWUFE Oracle Club抵着寒风前行—甲骨文俱乐部第九周分享会...
  14. 【Linux CentOS系统】Matplotlib不显示Times New Roman
  15. STM32F7--->SDRAM
  16. 深度学习 花书中的概念——百晓生知识处理库自动抽取
  17. ben we_老WE成立手游战队!2020LOL冬季转会汇总:截止11月17日(每日更新)
  18. 交通局信息上报“二次录入”难题交给博为小帮!
  19. 项目管理:(四)项目范围管理
  20. 电商网站架构探索|SOA分布式架构详解

热门文章

  1. access无法与wincc链接_wincc和Access连接写如变量
  2. html如何在画布上加层,在Canvas中嵌套Html
  3. abb智能控制系统_ABB助力国网冀北电力打造虚拟电厂
  4. Sublime介绍安装和使用(转载)
  5. 网络交换机的作用有哪些?
  6. 什么是光纤转换器?光纤转换器转换类别介绍
  7. 【渝粤题库】陕西师范大学201371 国际法学作业
  8. 【渝粤题库】广东开放大学企业标准化 形成性考核
  9. 【渝粤题库】陕西师范大学200471 英汉翻译
  10. 基于Modbus RTU协议的开关量控制采集简介