java runtimeexception check_CheckException和RuntimeException

java runtimeexception check_CheckException和RuntimeExceptionjava文档中对RuntimeException的定义是:RuntimeException是那些可能在Java虚拟机正常运行期间抛出的异常的超类。可能在执行方法期间抛出但未被捕获的RuntimeException的任何子类都无需在throws子句中进行声明。java中Exception分为两类,一类是CheckException一类是UncheckException。并且java的E…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

java文档中对RuntimeException的定义是:

RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。

可能在执行方法期间抛出但未被捕获的 RuntimeException 的任何子类都无需在 throws 子句中进行声明。

java中Exception分为两类,一类是CheckException一类是UncheckException。并且java的Error都属于UncheckedException。

一、CheckException和UnCheckException的区别:

1、在编译的时候,java编译器会强制你处理CheckException,处理的方式有两种:一种是抛出异常;另一种是捕获异常(常见的有ClassNotFoundException等)。而对于UncheckException编译去则不需要你做任何处理,只是在运行时出现了该类异常,则会被抛出(常见的有:NullPointException,ArrayIndexOutofBoundException等)。

2、Checked exception用来指示一种调用方能够直接处理的异常情况。而Runtime exception则用来指示一种调用方本身无法处理或恢复的程序错误。

二、是否应该对RuntimeException处理

总而言之,在程序的运行过程中一个checked exception被抛出的时候,只有能够适当处理这个异常的调用方才应该用try/catch来捕获它。而对于runtime exception,则不应当在程序中捕获它。如果你要捕获它的话,你就会冒这样一个风险:程序代码的错误(bug)被掩盖在运行当中无法被察觉。因为在 程序测试过程中,系统打印出来的调用堆栈路径(StackTrace)往往使你更快找到并修改代码中的错误。有些程序员建议捕获runtime exception并纪录在log中,我反对这样做。这样做的坏处是你必须通过浏览log来找出问题,而用来测试程序的测试系统(比如Unit Test)却无法直接捕获问题并报告出来。

在程序中捕获runtime exception还会带来更多的问题:要捕获哪些runtime exception?什么时候捕获?runtime

exception是不需要声明的,你怎样知道有没有runtime

exception要捕获?你想看到在程序中每一次调用方法时,都使用try/catch程序块吗?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161477.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle数据库创建user,Oracle数据库如何创建数据库用户呢?

    oracle数据库创建user,Oracle数据库如何创建数据库用户呢?摘要:下文讲述Oracle数据库中创建数据库用户的方法分享,如下所示;在oracle数据库中,当我们创建了相应的数据库后,通常我们会为数据库指定相应的用户,然后单独操作此数据库,下文讲述oracle数据库中创建数据库用户的方法分享实现思路:1.创建oracle用户前,需先创建表空间createtablespace表空间datafile’数据库文件名’size表空间大小如:SQL>…

    2022年7月14日
    19
  • Maven 菜鸟教程 4 常用dos命令

    Maven 菜鸟教程 4 常用dos命令maven常用dos命令

    2025年10月2日
    3
  • PLSQL 安装教程「建议收藏」

    PLSQL 安装教程「建议收藏」PLSQL安装教程1、首先要有oracle数据库或者有oracle服务器,才可以实现使用PLSQLDeveloper工具连接到oracle数据库进行开发.2、新建文件夹,将客户端文件放到里面D:\khd\instantclient_11_2,在文件夹instantclient_11_2中自己新建NETWORK文件夹,进入NETWORK文件夹新建ADMIN文件夹,将tnsn…

    2022年6月16日
    42
  • LINUX安装nginx详细步骤「建议收藏」

    1.安装依赖包//一键安装上面四个依赖yum-yinstallgcczlibzlib-develpcre-developensslopenssl-devel2.下载并解压安装包//创建一个文件夹cd/usr/localmkdirnginxcdnginx//下载tar包wgethttp://nginx.org/download/nginx-1.13…

    2022年4月18日
    46
  • 分析开源项目[通俗易懂]

    分析开源项目[通俗易懂]手把手教你分析开源项目不知道代码怎么来的?代码跑不起来?项目对自己有帮助,不会模块化分析?任何一个开源项目,都可以让自己得到提升!这里以EL-ADMIN为例https://el-admin.vip/1、观察开源项目后端代码:前端代码:2、开源项目下载可使用zip下载,或者Git观察:用了哪些技术(springboot,vue,redis,)是否有数据库(mysql)你的环境是否匹配(Java,Maven,npm,nodejs,)通过了,然后再想办法运行3、跑

    2022年6月11日
    41
  • Yui3使用指南一

    Yui3使用指南一1、开始使用script>//CreateaYUIsandboxonyourpage.YUI().use(‘node’,’event’,function(Y){//TheNodeandEventmodulesareloadedandreadytouse.//Yourcodegoeshere!});script>

    2022年7月12日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号