checked and unchecked exception

Checked and Unchecked Exception NULL 博文链接:https://caerun.iteye.com/blog/726904 立即下载

checked 和 unchecked exception 的区别,资深一点的Java程序员都知道。这里我感兴趣的是该怎么用checked 和 unchecked exception.

 

最早的exception处理机制来自C++,在C中为了避免错误,我们会根据返回结果或者判断状态(文件操作)来保证程序的正确性。这样在代码中就会有大量的if/else判断最后甚至让读代码的人忘了程序片段的真正意图。因此C++中引入了exception的处理机制。不过C++为了兼容C,异常处理是选择性的。Java是真正严格实现异常机制的语言。

 

从架构的角度什么时候用checked exception,什么时候用unchecked exception, 如何封装,处理,仁者见仁,智者见智。有种选择是不用checked exception. Think In Java作者Bruce Eckel在http://www.mindview.net/Etc/Discussions/CheckedExceptions 提到这种设计选择。我的理解是原因有三点:1)业务逻辑不愿意恢复的错误,比如Rod Johnson在J2EE Deveopment Without EJB中举了一个Service Locator 中JNDI Lookup failure时直接抛出Un-Checked exception。这样不会逼着系统处理这种异常,比如尝试恢复或者提示用户。2) checked exception是编译时异常,强制要求处理,确实降低了程序出错的可能。但有时程序中还是大量充斥这种异常处理的代码。 3)程序员经常有意无意中丢掉了异常(简单的打印出异常信息,没有思考如何进一步处理),这是程序中引入bug的一种主要来源,并且比较难找。

 

据说Spring中DAO的封装中都是Runtime Exception. 不知是不是也是基于此考虑。

Java的checked和unchecked异常 Java异常分为两种类型,checked异常和unchecked异常,另一种叫法是异常和错误。   简单地讲,checked是可以在执行过程中恢复的,而unchecked异常则是无法处理的错误。   checked异常:   表示无效,不是程序中可以预测的。比如无效的用户输入,文件不存在,网络或者数据库链接错误。这些都是外在的原因,都不是程序内部可以控制的。   必须在代码中显式地处理。比如try-catch块处理,或者给所在的方法加上throws说明,将异常抛到调用栈的上一层。   继承自java.lang.Exception(java.lang.RuntimeException除 立即下载

相关推荐

详解Java中的checked异常和unchecked异常区别

主要介绍了详解Java中的checked异常和unchecked异常区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Checked异常和Unchecked异常

从异常处理机制的角度可以分为两类,Unchecked Exceptions和Checked Exceptions。Unchecked Exceptions指的是被程序员check的异常,Checked Exceptions指的是被编译器check的异常。

qq_53508036的博客 2956

Temporal Fusion Transformer(TFT)与扩散模型融合:时间序列预测新范式

本文探讨了Temporal Fusion Transformer(TFT)与扩散模型融合的时间序列预测新范式。该融合方案利用TFT强大的特征提取与可解释性,为扩散模型提供精准的“导航图”,从而在噪声数据中实现鲁棒预测,并原生支持不确定性量化,输出完整的概率分布与置信区间,为金融、能源等领域的风险决策提供更可靠的依据。

weixin_29096377的博客 290

异常(收藏)

Java的checked和unchecked异常 2011 年 6 月 14 日No comments Java异常分为两种类型,checked异常和unchecked异常,另一种叫法是异常和错误。 简单地讲,checked是可以在执行过程中恢复的,而unchecked异常则是无法处理的错误。 checked异常: 表示无效,不是程序中可以预测的。比如无效

痕迹 638

HIDL概述

HIDL背景 Treble 是 Google Android 团队的一项重大项目,意在 Android 操作系统框架在架构方面的一项重大改变,旨在让制造商以更低的成本更轻松、更快速地将设备更新到新版 Android 系统。Android 7.x 及更早版本中没有正式的供应商接口,因此设备制造商必须更新大量 Android 代码才能将设备更新到新版 Android 系统: 图1 Treble ...

u013357557的专栏 2万+

vasp计算练习1-Si

si的vasp训练流程

qq_41074165的博客 3296

Java异常处理

Java异常处理

二哈喇子! 1094

ubuntu为Docker配置代理

我们平常在ubuntu终端中使用curl或git命令时,往往会很慢。所以,首先需要给ubuntu终端环境添加代理。查看自身那个软件的端口号,我这里是7890。

不想随波逐流的大学生一枚,我们每个人都在努力奔跑 1643

Checked和Unchecked Exceptions -- Java

在我们所从事的许多项目中,我们看到了各种不同的编码,代码格式,类的命名方式,数据库技术等等不同策略。但所有项目中相同的一件事是异常(Exception),它有很多种,而且我们还可能通过继承Exception类创建自定义异常。 在这篇文章中,我将讨论异常。我将讨论已检查异常(checked exceptions)和未检查异常(unchecked exceptions)。我将谈论什么是异常,以及异常处理的最佳实践。 本文中的章节: 什么是异常 checked 和 unchecked exceptions 最佳

bill的博客 704

lvgl 实现表格table,并且固定表头

嵌入式实现table,lvgl 实现原生表格table组件

m0_61704502的博客 1271

基于Simulink的永磁同步电机三闭环(位置/速度/电流)控制仿真

本文详细介绍了基于Simulink的永磁同步电机三闭环控制系统设计与实现方法。系统采用位置环、速度环、电流环的三层嵌套结构,通过坐标变换(Clark/Park)实现解耦控制,达到精密定位目的。文章包含完整的建模步骤:从主电路搭建、三环PID设计到坐标变换与SVPWM调制实现,并提供了核心控制算法的MATLAB代码。通过工业机械臂关节场景验证,系统在阶跃响应(稳态误差0.002°)、正弦跟踪(误差0.008°)和抗扰动性能(恢复时间0.05s)方面表现优异。最后还提出了前馈补偿、扰动观测器等优化方向。该方案适

xiaoheshang_123的博客 280

通俗理解checked Exception和unchecked Exception

首先放一张Java异常层次结构图: 错误(Error)和异常(Exception)是不同的。 Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时JVM(Java虚拟机)出现的问题。例如,Java虚拟机运行错误(Virtual MachineError),当JVM不再有继续执行操作所需要的内存资源时,将出现OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。 Exception(异常):是程

Carrot_kexin的博客 2863

哨兵1号回波数据(L0级)提取与SAR成像(全网首发)

本文先展示提取出的回波结果,然后使用RD算法进行成像,展示成像结果,最后附上哨兵1号回波提取的MATLAB代码。

3796

Checked Exception and UnChecked Exception

使用Checked Exception还是UnChecked Exception 如果你希望强制你的类调用者来处理异常,那么就用Checked Exception;  如果你不希望强制你的类调用者来处理异常,就用UnChecked。         那么究竟强制还是不强制,权衡的依据在于从业务系统的逻辑规则来考虑,如果业务规则定义了调用者应该处理,那么就必须Checked,如果业务规

燃烧JAVA 1107

【示波器专题】无源探头的常用附件

使用探头进行测试,我们不仅要知道探头的原理,还需要了解探头的常用附件及其使用方式,这样才能在尽可能在测试中提高效率且减少出错的概率

一点硬件 692

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

checked Exception, unchecked Exception and Error

[b]1. checked exception[/b] a. 都是Exception的子类,若子类可能抛出X异常,则父类也必须throws X异常,效率低,耦合度高。 b. 需要强制catch,否则编译器直接报错。 [code="java"]/** * The class Exception and its subclasses are a form of * Throwable ...

qtlkw 137

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

checked exception and unchecked exception

 1.checked exception就是像IOException这样的异常 通常是需要程序员抛出的 也是通过try catch或者throw来抛出的。2.unchecked exception也就是runtime excerption 它的抛出通常是因为我们程序自身的问题 即我们编的程序问有问题 我们不用抛出这类异常 编译器会帮我们抛出的

amu112964的专栏 575

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Difference between checked and unchecked exception in java

In this post, we will see difference between checked and unchecked exception in java. It is important question regarding exceptional handling. What is Exception? Exception is unwanted situation or...

SheTing'Blog 3510

java异常体系: checked exception and unchecked exception

https://www.geeksforgeeks.org/exceptions-in-java/ https://www.geeksforgeeks.org/checked-vs-unchecked-exceptions-in-java/ https://www.geeksforgeeks.org/flow-control-in-try-catch-finally-in-java...

jupiter_888的博客 249

checked Exception(检查型异常) and unchecked Exception(非检查型异常)

checked exception(检查型异常) 通俗来说就是需要编译器检查的异常,那么什么才是编译器需要检查的呢?就是用户无可避免的,很难发现的异常发生时就需要编译器来检查。ex.传输一个文件,传完之后没关闭输入输出流,这是用户是很难发现,只有编译器在编译时才可以发现,此时它检查到异常并抛出异常。 unchecked exception(非检查型异常) 通俗来说就是不需要编译器来检查用户本...

小马哥的博客 529

[Java] 检查异常和非检查异常(checked exception and unchecked exception)

Throwable类是所有异常的根类,RuntimeException, Error以及它们所有的子类都叫非检查异常,剩下的都是检查异常。 对于检查异常,例如ClassNotFoundException,IOException等,编译器会强制要求用try-catch进行处理,或在方法头中进行声明。 而对于非检查异常如:RuntimeException及其子类NullPointerExcepti...

学习笔记 364

Checked 和 Unchecked Exceptions

Java中的Exception层次结构 Throwable是所有异常的父类,并且进一步扩展为Exception和Error两个类。Java中的Exceptions可以分为两个主要的分支 什么是Unchecked Exceptions? 字面上是不检查的异常,指的是程序在编译期时不会检查的异常。这些异常都继承于RuntimeException,运行时的异常说明只会在程序运行时才会出现,固然编译期不会检查 那么CheckedExceptions 有哪些呢? 有以下这些: FileNotF..

qq_37795502的博客 309

Java中的checked异常和unchecked异常

(一)Java的异常层次结构   要想明白Java中checked Exception和unchecked Exception的区别,我们首先来看一下Java的异常层次结构。   这是一个简化的Java异常层次结构示意图,需要注意的是所有的类都是从Throwable继承而来,下一层则分为两个结构,Error和Exception。其中Error类层次描述了Java运行时系统的内部错误和资源耗尽...

voodoo的博客 1万+
上一篇: closures, inner class and 函数指针
下一篇: Project Human Resource Management
firestone-sh
博客等级 码龄24年 19粉丝 431原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值