Java异常之checked与unchecked

运算放大器测试方法-输入失调电压 由于运放输入回路的不对称性,在输入端将产生一定的误差信号,从而限制运放信号灵敏度。通常用输入失调电压(VOS)、输入失调电流(Ios)和输入偏置电流(IB)表示。运放有四个主要特征:输入失调特征、开环特征、共模特征及输出特征。其放大倍数较大,由于外界的影响,即使运放的输入端产生较小的输入信号,经过放大,在输出端也会产生较大的误差。为能精确测量其性能,一般采用辅助运放进行测试。下面着重讲了运放的主要参数及如何精确测量这些参数。文中DUT代表被测运放,A代表辅助运放。 阅读详情

Java异常之checked与unchecked

Posted on  2016-02-19 18:20  shihuc 阅读( 2393) 评论( 0)  编辑  收藏

首先,java的异常分为Error和Exception。这两类都是接口Throwable的子类。Error及Exception及其子类之间的关系,大致可以用下图简述。

注意事项:

1。 Error仅在java的虚拟机中发生,用户无需在程序中捕捉或者抛出Error。

2。 Exception分为一般的Exception和RuntimeException两类。这里有点让人觉得别扭的是RuntimeException(Unchecked)继承于Exception(Checked)的父类。

PS: checked与unchecked的概念理解:

checked: 一般是指程序不能直接控制的外界情况,是指在编译的时候就需要检查的一类exception,用户程序中必须采用try catch机制处理或者通过throws交由调用者来处理。这类异常,主要指除了Error以及RuntimeException及其子类之外的异常。

unchecked:是指那些不需要在编译的时候就要处理的一类异常。在java体系里,所有的Error以及RuntimeException及其子类都是unchecked异常。再形象直白的理解为不需要try catch等机制处理的异常,可以认为是unchecked的异常。

checked与unchecked在throwable的继承关系中体现为下图:

复制代码
                 +-----------+
                 | Throwable |
                 +-----------+
                  /         \
                 /           \
          +-------+          +-----------+
          | Error |          | Exception |
          +-------+          +-----------+
           /  |  \           / | \        \
          \________/       \______/         \
                                        +------------------+
          unchecked        checked      | RuntimeException |
                                        +------------------+
                                         /   |    |      \
                                        \_________________/
                        
                                            unchecked
复制代码

 

下面列举例子说明上面的注意事项2中提到的比较别扭的地方:

首先定义一个基本的异常类GenericException,继承于Exception。

复制代码
 1 package check_unchecked_exceptions;
 2 
 3 public class GenericException extends Exception{
 4 
 5     /**
 6      * 
 7      */
 8     private static final long serialVersionUID = 2778045265121433720L;
 9     
10     public GenericException(){
11         
12     }
13     
14     public GenericException(String msg){
15         super(msg);
16     }
17 }
复制代码

下面定义一个测试类VerifyException。

复制代码
 1 package check_unchecked_exceptions;
 2 
 3 public class VerifyException {
 4 
 5     public void first() throws GenericException {
 6         throw new GenericException("checked exception");
 7     }
 8     
 9     public void second(String msg){
10         if(msg == null){
11             throw new NullPointerException("unchecked exception");
12         }
13     }
14     
15     public void third() throws GenericException{
16         first();
17     }
18     
19     public static void main(String[] args) {
20         VerifyException ve = new VerifyException();
21         
22         try {
23             ve.first();
24         } catch (GenericException e) {
25             e.printStackTrace();
26         }
27 
28         ve.second(null);
29     }
30 
31 }
复制代码

运行后,在eclipse的控制台上得到下面的信息:

1 check_unchecked_exceptions.GenericException: checked exception
2     at check_unchecked_exceptions.VerifyException.first(VerifyException.java:6)
3     at check_unchecked_exceptions.VerifyException.main(VerifyException.java:23)
4 Exception in thread "main" java.lang.NullPointerException: unchecked exception
5     at check_unchecked_exceptions.VerifyException.second(VerifyException.java:11)
6     at check_unchecked_exceptions.VerifyException.main(VerifyException.java:29)

上面的例子,结合checked以及unchecked的概念,可以看出Exception这个父类是checked类型,但是其子类RuntimeException (子类NullPointerException)却是unchecked的。

 

本博文描述的checked与unchecked概念很基础,但是大家不一定都明白。。。

 

分类:  Java
标签:  技术
0
0
« 上一篇: openstack(liberty):部署实验平台(二,简单版本软件安装 part2)
» 下一篇: openstack(liberty):部署实验平台(三,简单版本软件安装 之cinder,swift)
基于ArduPilot的旋翼式无人机飞行器开发系列(二,学习路线) 一,热爱 作为一名耿直的技术男,在这里我只想说一句,热爱是可持续学习的第一要素,也只有热爱才能让你坚持到最后。 至于最后能得到什么,只有你自己知道。常说书中自有颜如玉,书中自有黄金屋。如果你是为了颜如玉,我相信大多数颜如玉做不了你的红颜知己。如果是为了黄金屋,当你持续投入时间和金钱却看不到回报的时候,相信退堂鼓早已隆隆作响。 我给自己的信条就是为当下努力工作,为将来持续学习。当前飞控行业并没有爆发,如果想赚块钱,去互联网汽车,去VR/AR吧,去元宇宙吧。 那么我热爱... 阅读详情

相关推荐

避开这些坑!DS18B20温度读取不准、时序混乱的5个常见问题与调试方法

本文深入解析DS18B20温度传感器在应用中常见的5个问题,包括温度读取不准、时序混乱等,并提供详细的调试方法。通过硬件设计优化、精准延时实现和数据解析技巧,帮助开发者有效解决温度值跳变、初始化失败等典型问题,提升OneWire协议下的温度测量精度。

weixin_29185493的博客 463

Checked异常和Runtime异常

Checked异常和Runtime异常 - 爱你一万年123 - 博客园 一 Checked异常和Runtime异常介绍 Java的异常被分为两大类:Checked异常和Runtime异常(运行时异常)。所有RuntimeException类及其子类的实例被称为Runtime异常;不是RuntimeException类及其子类的异常实例则被称为Checked异常。 Java认为Checked异常都是可以被处理(修复)的异常,所以Java程序必须显示处理Checked异常。如果程序没有处理Check

yygr的博客 1414

第五章 PCIe介绍 5.1-5.7

为什么SSD要用PCIe接口?因为它快,比SATA快。通道,PCIe最多可以有32个通道。两个设备之间的PCIe连接,叫做一个Link。如下图,设备A和设备B是个双向连接,两个PCIe设备之间,有专门的发送和接收通道,数据可以同时往两个方向传输,PCIe Spec称这种工作模式为,可以理解为。和PCIe一样,SATA有独立的发送和接收通道。但与PCIe工作模式不一样,同一时间,SATA只有一条通道可以进行数据传输。这种工作模式称为。与SATA单通道不同,PCIe连接可以通过增加通道数扩展带宽。

fengbaobaola的博客 2969

Java异常(Runtime异常 和 Checked异常)

1.Java常见异常类 异常对象常用方法: getMessage():返回异常的详细描述字符串,例如:/ by zero printStackTrace(): printStackTrace(PrintStream s): getStackTrace():返回异常的跟踪栈信息 2.Runtime异常 和 Checked异常区别     Exception...

王如霜 2455

三菱CNC数据采集实战:从SDK安装到C#代码调试全流程(附完整资源包)

本文为C#开发者提供了三菱CNC数据采集的完整实战指南。详细介绍了从获取并安装核心A2协议SDK、配置Visual Studio开发环境,到理解COM接口文档、封装C#通信类,并构建具备多设备连接与定时采集功能的WinForms应用程序的全流程。文章重点分享了网络调试、异常处理及性能优化等关键实战经验,帮助开发者高效打通工业自动化数据采集链路。

oauth7security的博客 707

从零构建:用Simulink搭建固定翼无人机六自由度模型的避坑指南

本文详细介绍了使用Simulink从零构建固定翼无人机六自由度动力学模型的完整流程和避坑指南。重点解析了模型架构设计、气动力计算、参数配置、仿真求解器选择等关键环节的常见问题与解决方案,帮助开发者快速建立准确可靠的无人机控制系统仿真模型。

hhh00的博客 999

Java中的异常处理:Checked与Unchecked的区别

在Java编程中,异常处理是一项重要的技术,用于处理程序在运行时可能出现的错误情况。异常分为两种主要类型:Checked异常和Unchecked异常。本文将深入探讨它们的区别、使用场景以及最佳实践。通过本文的介绍,我们深入了解了Java中Checked异常和Unchecked异常的区别、使用场景以及最佳实践。合理地处理异常可以提高程序的健壮性和可靠性,使得代码更加稳定和易于维护。

聚娃科技开发者博客 884

步进电机

步进电机

happygrilclh的博客 2140

异常(收藏)

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

痕迹 638

软件崩溃时Visual Studio中看不到有效的调用堆栈,使用Windbg动态调试去分析定位

当在Visual Studio中遇到软件崩溃且无法查看详细调用堆栈时,可以使用Windbg进行动态调试去分析定位问题。

dvlinker的技术专栏 1万+

目标检测YOLO实战应用案例100讲-跨模态、多级别融合的RGB-D显著目标检测方法研究(续)

在第二章介绍了本研究的跨模态特征融合方法,第二章对于多级别特征的融合, 使用的是与基线模型baseline相同的方法:相邻级别的特征中,高级特征进行上采 样到与低级特征相同的尺度,再将高级特征通过降维得到与低级特征相同的通道数 量,最后对二者进行特征叠加,如此自顶向下的进行多级别的特征融合。本章主要 介绍本研究在特征层面的另一发现,并基于此发现引出的本文的第二个创新点:多 级别特征的融合方法。另外,在网络最深层,本文设计了一个新的模块来获取大的 感受野,对于大尺度目标能够增加更多语义信息,提升检测效果。 骨

qq_36130719的博客 467

Checked异常和Unchecked异常

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

qq_53508036的博客 2956

UniRx之基本语法格式

想要更好的去学习UniRx,我们最好是先理解UniRx 的语法格式。就像我们去学习英语或者汉语一样,理解了基本的语法规则后,再学其他的就信手拈来了。

TxNet 924

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

Java中checked和unchecked异常的区分,以及java的异常层次结构,应该对哪些异常进行声明。

在地图上飞行 4万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java中的Checked和Unchecked异常

复习软件构造时涉及到了Checked和Unchecked类型的异常,给出他们的划分和处理准则; 图1:异常类的继承关系,其中Throwable类继承自Object Error类 Error类描述的是java运行时系统内部出现的错误和系统资源不足的异常情况,比如用户输入错误、设备错误或者物理限制(内存不足等),程序员对于这些内部错误通常是没有办法解决的,一旦发生需要想办法让程序优雅的结束; 图2:Error类 一些典型的Error: VirtualMachineError:Java虚拟机坏

weixin_50928233的博客 1801

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Java包含两种异常checked异常和unchecked异常

Java包含两种异常:checked异常和unchecked异常。C#只有unchecked异常。checked和unchecked异常之间的区别是: Checked异常必须被显式地捕获或者传递,如Basic try-catch-finally Exception Handling一文中所说。而unchecked异常则可以不必捕获或抛出。Checked异常继承java.lang.Ex

huangshengzhi的专栏 1876

java checked异常有那些_JAVA 的checked异常和unchecked异常

什么是unchecked异常?即RuntimeException(运行时异常) 不需要try...catch...或throws 机制去处理的异常列举最常用的五种RuntimeException:这是JAVA认证考试中最常见的题目,事实上,runtime exception中最常见的,经常碰到的,也就5,6种,如下:ArithmeticExceptionint a=0; int b= 3/a;Cl...

weixin_39713841的博客 1725

Java中的checked异常和unchecked异常

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

voodoo的博客 1万+

【Java基础】详解Java中的checked异常和unchecked异常

阅读目录Java的异常层次结构unchecked异常和checked异常的区别为什么要对unchecked异常和checked异常进行区分?我们应该对哪些异常进行声明? Java的异常层次结构 要想明白Java中checked Exception和unchecked Exception的区别,我们首先来看一下Java的异常层次结构。 这是一个简化的Java异常层次结构示意图,需要注意的是所有的类都是从Throwable继承而来,下一层则分为两个结构,Error 和 Exception。其中Error类层次

锦瑟年华,逐梦之人 472

Java 异常体系(Checked vs. Unchecked)

在 Java 中,异常是指在程序执行过程中出现的错误或意外情况。Java 的异常体系是一个类层次结构,所有异常类都继承自Throwable类。ThrowableError和Exception。Error:表示系统级的错误,通常是由 Java 虚拟机(JVM)本身的问题引起的,如等。这类错误通常是不可恢复的,程序员一般无法通过代码进行处理。Exception:表示程序可以处理的异常情况。它又可以分为两种类型:Checked 异常和 Unchecked 异常。

dsq_MaDing的博客 1085

Java的checked和unchecked异常

Java异常分为两种类型,checked异常和unchecked异常,另一种叫法是异常和错误。 简单地讲,checked是可以在执行过程中恢复的,而unchecked异常则是无法处理的错误。 checked异常: 表示无效,不是程序中可以预测的。比如无效的用户输入,文件不存在,网络或者数据库链接错误。这些都是外在的原因,都不是程序内部可以控制的。必须在代码中显式地处理。比如try

ccecwg的专栏 570

java check()_Java异常之checked与unchecked

简介首先,java的异常分为Error和Exception。这两类都是接口Throwable的子类。Error及Exception及其子类之间的关系,大致可以用下图简述。注意事项:1。 Error仅在java的虚拟机中发生,用户无需在程序中捕捉或者抛出Error。2。 Exception分为一般的Exception和RuntimeException两类。这里有点让人觉得别扭的是RuntimeExc...

weixin_28755331的博客 1041

JAVA 的checked异常和unchecked异常

JAVA 的checked异常和unchecked异常 (2010-07-21 16:34:13) 转载▼ 标签: checked exception unchecked 杂谈 分类: java和数据库 什么是unchecked异常? 即RuntimeException(运行时异常) 不需要try...catch...或throws 机制去处理的异常 ...

ht576475012的博客 269

Java中的异常(checked异常和unchecked异常)

Java的异常层次结构 要想明白Java中checked Exception和unchecked Exception的区别,我们首先来看一下Java的异常层次结构。   这是一个简化的Java异常层次结构示意图,需要注意的是所有的类都是从Throwable继承而来,下一层则分为两个结构,Error和Exception。其中Error类层次描述了Java运行时系统的内部错误和资源耗尽错误,这种错误除了简单的报告给用户,并尽力阻止程序安全终止之外,一般也米有别的解决办法了。 最常用的五种Runti...

奋进的小白粥 6141

Java常见异常Runtime Exception、checked Exception以及Unchecked异常

Java异常 这篇文章主要用来介绍Java的异常类型以及异常的处理要点,废话少说,直接进入主题: 先上一张关于个人异常总结的思维导图: ​​ 什么是checked异常和unchecked异常? Java原因对这两个定义很简单,将派生于Error和RuntimeException的异常称为unchecked异常,其余所有异常为checked异常。 checked异常和unch...

AE86-打破常规的博客 2637

Java 中 Checked 和 Unchecked 异常的区别与自定义异常实现

Java 的异常类继承自Throwable,分为Error和ExceptionError:表示严重问题(如),通常不可恢复,程序不应捕获。Exception:分为 Checked 和 Unchecked 异常。基类子类Checked 异常在编译时强制处理,适合外部资源操作;Unchecked 异常运行时触发,适合逻辑错误。自定义异常通过继承Exception或,携带上下文信息,提升语义化。电商支付系统案例验证了 P99 延迟 3ms、QPS 12 万的效果。选择。

lssffy的博客 1212
上一篇: @Transactional事务不起作用的解决
下一篇: Spring MVC 入门示例
javaPie
博客等级 码龄16年 1171粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值