Java知识点-受检异常与非受检异常

Java笔记——Java基础知识总结 此时会发现,两者的equals()比较为true,因为只是比较了name和age的值,而hashCode比较则返回false,因为没有重写,所以二者都是使用父类Object中继承而来的方法,各自随机生成,值并不相同,比较结果自然为false。之所以要设置一些受检异常,比如数据库异常、文件读取异常,这些异常都是程序无法提前预料的,但是一旦出问题,就会造成资源被占用,导致程序出现问题,所以我们需要主动捕获这些异常,从而在异常情况下可以做出对应的处理,比如关闭数据库连接,释放文件流等。 阅读详情


受检异常与非受检异常


1.受检异常是在编译时期有编译器检测的异常,必须要捕获异常。受检异常继承于Exception。
2.非受检异常是在运行时期的异常,编译器不会检测异常,需要时也可以捕获异常。非受检异常继承于RuntimeException。


代码如下:

<pre name="code" class="java"><span style="font-family:Verdana;font-size:18px;">package com.demo;

public class Demo {

	public static void checkException() throws Exception {
		throw new CheckException("受检异常");
	}

	public static void unCheckException() {
		throw new UnCheckException("非受检异常");
	}

	public static void main(String[] args) {
		try {
			checkException();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		unCheckException();
	}

}</span>




运行结果:

com.demo.CheckException: 受检异常
at com.demo.Demo.checkException(Demo.java:6)
at com.demo.Demo.main(Demo.java:15)
Exception in thread "main" com.demo.UnCheckException: 非受检异常
at com.demo.Demo.unCheckException(Demo.java:10)
at com.demo.Demo.main(Demo.java:20)


可以看出受检异常必须在编译时就捕获到,而非受检异常则不需要在编译时捕获,在运行时抛出了RuntimeException。

Java异常面试题(总结最全面的面试题) Java异常是Java提供的一种识别及响应错误的一致性机制。Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。在有效使用异常的情况下,异常能清晰的回答what, where, why这3个问题:异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪”抛出,异常信息回答了“为什么”会抛出。综上所述,当你抛出或捕获异常的时候,有很多不同的情况需要考虑,而且大部分事情都是为了改善代码的可读性或者 API 的可用性。... 阅读详情

相关推荐

Java充电站:关于异常的面试题,你会吗

1、Java 中异常分为哪些种类? 按照异常需要处理的时机分为编译时异常(也叫强制性异常)也叫 CheckedException 和运行时异常(也叫非强制性异常)也叫 RuntimeException。 只有 java 语言提供了 Checked 异常,Java 认为 Checked异常都是可以被处理的异常,所以 Java 程序必须显式处理 Checked 异常。如果程序没有处理 Checked 异常,该程序在编译时就会发生错误无法编译。这体现了 Java 的设计哲学:没有完善错误处理的代码根本没有机会被

Java全能学习+面试指南 305

Java的异常机制

Java异常的分类、受检异常与非受检异常、运行时异常与编译时异常、异常的处理机制、自定义异常、手动抛出异常

animatelife的博客 232

受检异常和非受检异常的区别和理解

1、受检异常 所谓的受检异常其实表示的是在编译的时候,要强制检查的异常,这种异常需要去显示的通过try/catch来进行捕获或者通过throws去抛出去否则程序无法通过编译的。 2、非受检异常 所谓的非受检异常表示编译器可以不需要去强制去检查异常,这种异常不需要去显示去捕获或者抛出。 在java里面所有的异常都需要继承java.lang.Throwable这个类如下图: ...

m0_46624528的博客 6636

ORCAD原理图关联封装时出现ERROR(ORCIS-6245)、ERROR(ORCIS-6013)问题

1、当你进行如下操作时: 系统先是提示你出现ERROR(ORCIS-6245)然后再确定后再出现ERROR(ORCIS-6013)问题 是由于你的数据库的路径不对。 具体操作方法如下:1、先找到你的CAPTURE.INI文件。 2、用记事本打开CAPTURE.INI。找到下图路径 3、在你的Orcad capture CIS原理图软件中点击 Options------>CIS con...

weixin_42304393的博客 2万+

windows中通过docker部署LocateAnything-3B模型

windows中通过docker部署LocateAnything-3B模型

yilvyangguang520的博客 485

Java异常概念及常规操作

java里的异常处理 Exception 是在程序执行过程中发生的一些不希望发生的事情,这些事情如果不被好好处理,就会导致奇怪的结果或者是程序终结。Exception Handler是那些当异常发生时处理这些异常的代码。 在 Java 中一个异常的产生,主要有如下三种原因: Java 内部错误发生异常,Java 虚拟机产生的异常。(ERROR) 编写的程序代码中的错误所产生的异常,例如空指...

™red scarf的博客 536

向华为学习——解读华为战略规划SP与业务计划BP流程【附全文阅读】

该方案针对大中型企业高管及战略团队,系统拆解华为SP(4-9月中长期规划)与BP(10-12月年度执行)双轨体系,形成"战略制定-业务设计-资源配置-绩效解码"闭环。SP侧重市场趋势分析、业务优先级与资源分配,BP细化KPI、预算及行动计划。通过价值树、战略解码等工具实现战略到部门/个人的目标分解,强化跨部门协同与过程管控。配套17份华为实战资料(包括战略管理、流程优化、销售组织建设等核心方法论),助力企业建立规范的战略执行体系,实现资源优化与绩效落地。

cdfunlove的博客 768

【面试题精讲】常见的非受检异常

非受检异常通常由程序错误、逻辑错误或运行时环境导致,可以通过避免出现异常、检查输入参数、使用条件判断和异常捕获来处理。在使用非受检异常时,需要注意不要滥用异常、良好的异常命名和捕获处理异常。异常捕获和处理:对于无法避免的非受检异常,可以使用 try-catch 语句捕获并处理异常。良好的异常命名:为了增加代码的可读性,应该给异常起一个具有描述性的名称,以便于理解异常的含义。捕获和处理异常:对于无法避免的非受检异常,应该在适当的地方捕获并处理异常,以防止程序崩溃。

程序员朱永胜 524

【uniapp踩坑记】App Store上传失败:Invalid Swift Support错误怎么解决?

作为一个前端出身的开发者,用 uniapp 开发原生 App 已经够挑战了,打包 iOS 上传 App Store 更是处处暗雷。这次的坑虽然小,但确实容易忽略。如果你也遇到了类似的报错,希望这篇文章能帮你少踩一次坑!

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1143

国科大学习资料--自然语言处理(宗成庆)-2019期末考试题

国科大学习资料–自然语言处理(宗成庆)-2019期末考试题 国科大学习资料–自然语言处理(宗成庆)-2019期末考试题 国科大学习资料–自然语言处理(宗成庆)-2019期末考试题

无名何许人的博客 2438

异常分为两种类型:受检异常(Checked Exception)和非受检异常(Unchecked Exception)

受检异常是指那些编译器要求必须处理的异常,通常是因为这类异常可能会影响到系统的安全性和正确性。非受检异常则是指那些编译器不强制要求处理的异常。对于非受检异常,虽然编译器不会强制要求处理,但是为了提高代码的健壮性和可维护性,我们仍然建议在可能出现这类异常的地方进行适当的处理。总之,受检异常和非受检异常的主要区别在于它们的处理方式和影响程度。总之,受检异常和非受检异常的主要区别在于它们的处理方式和影响程度。非受检异常则不会立即导致程序崩溃或抛出更严重的错误,而是会继续执行,直到遇到一个可以处理这种异常的方法。

[Blog][Domain] programb.blog.youkuaiyun.com 2519

51单片机入门指南-基于STC89C52(持续更新)

一、环境介绍 编程IDE: keil5 单片机型号: STC89C51/52 开发板: 普中科技的开发板 完整PDF资源下载地址:https://download.youkuaiyun.com/download/xiaolong1126626497/19785856 二、51单片机开发手册介绍 2.1 前言 51单片机是对所有兼容Intel 8031指令系统的单片机的统称。 该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最.

8798

【金三银四】java异常面试题(2021最新版)

目录 前言 一、Java异常架构与异常关键字 1. Java异常简介 2. Java异常架构 3. Java异常关键字 二、 Java异常处理 1. 声明异常 2. 抛出异常 3. 捕获异常 4. 如何选择异常类型 5. 常见异常处理方式 三、Java异常常见面试题 1. Error 和 Exception 区别是什么? 2. 运行时异常和一般异常(受检异常)区别是什么? 3. JVM 是如何处理异常的? 4. throw 和 throws 的区别是什么? 5. fina.

SQY0809的博客 2770

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java异常面试题

try – 用于监听。将要被监听的代码(可能抛出异常的代码)放在try语句块之内,当try语句块内发生异常时,异常就被抛出。 catch – 用于捕获异常。catch用来捕获try语句块中发生的异常。 finally – finally语句块总是会被执行。它主要用于回收在try块里打开的物力资源(如数据库连接、网络连接和磁盘文件)。只有finally块,执行完成之后,才会回来执行try或者catch块中的return或者throw语句,如果finally中使用了return或者throw等终止方法的语句

天才小熊猫的客栈 341

IMSL CNL 7.0.0 (x86-64)Crack

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

java异常

public class Throwable超类 所有错误和异常的超类 成员方法 try { System.out.println(arr[5]); }catch (ArrayIndexOutOfBoundsException e){ System.out.println(e.getMessage());//5 System.out.println(e.toString());//java.lang.ArrayInd

qq_57052869的博客 127

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Java异常知识点总结回顾

提示:本文帮助自己总结和回顾java异常的知识点,希望也能帮到大家 文章目录一、 Java异常类型结构二、Error三、Exception1.受检异常2.运行时异常3.JVM 是如何处理异常的?4. throw 和 throws 的区别是什么? 一、 Java异常类型结构 如上图所示,Throwable是所有java中错误和异常的超类,它又可以分为Error和Exception,Exception又可以分为IOExcep和RuntimeException。 二、Error Error是指java运行过

liwei131421的博客 243

java异常(Exception)

1.什么是异常 定义:在程序运行过程中出现的错误,称为异常。异常就是程序运行过程中出现了不正常现象导致程序的中断。 在Java中,把各种异常现象进行了抽象形成了异常类。 2.1 异常的类图结构 2.2error和exception的区别? Error类和Exception类的父类都是Throwable类,他们的区别如下: Error类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢出等。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和预...

weixin_46908643的博客 1190

来了!令人头疼的 Java 异常面试总结

对于面试,一定要有良好的心态,这位小伙伴面试美团的时候没有被前面阿里的面试影响到,发挥也很正常,也就能顺利拿下美团的offer。小编还整理了大厂java程序员面试涉及到的绝大部分面试题及答案,希望能帮助到大家,也祝愿大家都能够升职加薪!小编还整理了大厂java程序员面试涉及到的绝大部分面试题及答案,希望能帮助到大家,[外链图片转存中…(img-nxnTU1T1-1710760009526)][外链图片转存中…(img-D4pn9Xmy-1710760009526)]也祝愿大家都能够升职加薪!

2401_83621004的博客 916

Java面试题--4

Java面试题库 运行时异常和受检异常的区别 java异常是程序运行过程中出现的错误。 运行时异常:都是RuntimeException类及其子类异常 常见的运行时异常有: IndexOutOfBoundsException 索引越界异常 ArithmeticException 数学计算异常 NullPointerException 空指针异常 ArrayOutOfBoundsException...

qq_38737545的博客 144

Java实用知识点

1. 字节流:顶层抽象类 InputStream / OutputStream ,处理图片、视频、压缩包等二进制文件;2. 受检异常:IO异常、文件不存在异常,编译强制 try-catch 捕获或 throws 抛出;1. 运行时异常 RuntimeException :空指针、数组下标越界,编译无需强制捕获;1. 抽象类 abstract :拥有构造方法,可定义普通成员变量、实体方法,类仅能单继承;2. 引用数据类型:传递对象地址副本,方法内可修改对象内部属性,但无法替换外部原对象。

yiangL_的博客 236

Java 异常架构受检异常与非受检异常

Java 的异常处理机制是通过Throwable类及其子类实现的。ThrowableError:表示应用程序无法处理的严重错误,通常与 JVM 本身的状态相关,如内存溢出、栈溢出等。Error通常不应由应用程序捕获或处理。Exception:表示应用程序可以处理的异常情况,包括由程序错误或外部条件引发的问题。Exception又分为两类:受检异常和非受检异常。在Exception类中,受检异常和非受检异常的区别主要体现在编译时的检查和运行时的处理上。受检异常是指那些必须在编译时显式处理的异常。

Flying_Fish_roe的博客 1761

Java受检异常和非受检异常

异常分类 Java中所有异常都是java.lang.Throwable的子类,通常分为三类: Error: 表示不可处理的错误,通常是程序引起的不可恢复的错误,比如资源不足等。处理方式: 不处理。 RuntimeException: 运行时异常,通常是 通常分为两种: 受检异常(checked exception)和非受检异常(unchecked exception)。 常见受检异常 常见...

m0_38095922的博客 2516

受检异常 非受检异常_受检异常和非受检异常

java提供了三种异常类型,受检异常(checked exception)、运行时异常(runtime exception)、错误(error)。通常情况下,对于可恢复的情况,使用受检异常;如果不清楚是否可能恢复,则最好使用未受检异常。1.受检异常如果抛出的异常是可恢复的,同时我们也期望API的调用者捕获异常进行恢复处理,那么我们应该使用受检异常。受检异常会强迫API的使用者截获异常并恢复处理,或...

weixin_39609166的博客 2816

分享两个概念:非受检异常和受检异常

愿你的每一天都充满阳光和笑声,愿每一步都是轻松与愉快。在新的旅程中,愿你找到勇气攀登高峰,找到智慧化解困境。 愿你的心中充满温暖和善意,愿你的梦想如彩虹般美丽且真实。愿你发现生活中的小确幸,懂得感恩每一个瞬间。

IT小辉同学 1308
上一篇: MEIZU MX4连接不上adb
下一篇: Java知识点-断言assert
李士乐
博客等级 码龄17年 5粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值