运行时异常和检查性异常区别
Java提供了两类主要的异常:runtime exception和checked exception。 checked 异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。 但是另外一种异常:runtime exception,也称运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟机接管。比如:我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种异常还是最常见的异常之一。 出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,那么这整个程序也就退出了。运行时异常是Exception的子类,也有一般异常的特点,是可以被Catch块处理的。只不过往往我们不对他处理罢了。也就是说,你如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终止。 如果不想终止,则必须扑捉所有的运行时异常,决不让这个处理线程退出。队列里面出现异常数据了,正常的处理应该是把异常数据舍弃,然后记录日志。不应该由于异常数据而影响下面对正常数据的处理。在这个场景这样处理可能是一个比较好的应用,但并不代表在所有的场景你都应该如此。如果在其它场景,遇到了一些错误,如果退出程序比较好,这时你就可以不太理会运行时异常,或者是通过对异常的处理显式的控制程序退出。
运行时异常和检查性异常区别相关推荐
- java非检查性异常有哪些_Java异常处理-检查性异常、非检查性异常、Error
一.Java异常处理详解 异常.png 目录: 1.java中异常的分类 1.1 异常(Exception) 1.1.1 运行时异常(RuntimeException) 可以不需要捕获 1.1.2 编 ...
- [原创]如果软件在网络磁盘中或移动磁盘中运行时需要解决 exception C0000006 异常问题
[原创]如果软件在网络磁盘中或移动磁盘中运行时需要解决 exception C0000006 异常问题 参考文章: (1)[原创]如果软件在网络磁盘中或移动磁盘中运行时需要解决 exception C ...
- JAVA运行时异常及检查式异常
欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...
- java中检查性异常类_Java异常处理、java语言推崇使用检查类型异常
异常处理是java语言的重要特性之一,<Three Rules for effective Exception Handling>一文中是这么解释的:它主要帮助我们在debug的过程中解决 ...
- java中编译类型的方法 和 运行时的类型方法 有什么区别
1:引言 这是在复习多态当中,看到不太理解的东西, 就是 Java编译类型和运行类型 2:多态 多态首先得是在 有继承关系和方法重写的类当中:指同一个方法在被调用时,由于对象不同则会有不同的效果(). ...
- 运行时异常与检查异常区别
首先,思考一个问题,看下面三个代码,当抛出异常时,后面的代码还会运行吗,是否要在异常后加上return语句? //代码1 public static void test() throws Except ...
- java检查型异常和非检查型异常(运行时异常)
博客原文地址:https://www.cnblogs.com/tjudzj/p/7053980.html 这两个概念看了忘,碰着了又看,老是傻傻的分不清楚,今天把心得结合从网上搜的资料简单整理一下,希 ...
- 编译时异常与运行时异常
在实际开发中,经常会在程序编译时产生一些异常,必须要对这些异常进行处理,这种异常称为编译时异常,也称为checked异常.另外,还有一种异常是在程序运行时产生的,这种异常即使不编写异常处理代码,依然可 ...
- cfree运行程序错误_Java 错误和异常汇总
在Java中,根据错误性质将运行错误分为两大类:错误和异常. Java中的所有异常都是由Throwable类的子类生成的对象,所有的异常类都是Throwable类的子类或子类的子类.Throwable ...
最新文章
- jquery下载教程
- nginx搭建rtmp协议流媒体服务器总结
- docker 安装svn
- (Oracle学习笔记) sql语言
- libreoffice python 操作word及excel文档
- EncodingAESKey
- U盘安装ubuntu server 10.4
- 【李宏毅2020 ML/DL】P112-114 Q-Learning: Introduction Tips Continuous Actions
- 如何为复杂页面实现过渡页面
- 苹果Mac更改备忘录默认字体的方法图解
- 国内镜像源的使用,提高下载速度
- 【直击】腾讯SaaS加速器首期复试现场:122位CEO争夺30席入场券,激烈!
- oracle 取前行,【企业信息化研究所】TF-SWUFE Oracle Club抵着寒风前行—甲骨文俱乐部第九周分享会...
- 【Linux CentOS系统】Matplotlib不显示Times New Roman
- STM32F7--->SDRAM
- 深度学习 花书中的概念——百晓生知识处理库自动抽取
- ben we_老WE成立手游战队!2020LOL冬季转会汇总:截止11月17日(每日更新)
- 交通局信息上报“二次录入”难题交给博为小帮!
- 项目管理:(四)项目范围管理
- 电商网站架构探索|SOA分布式架构详解