[面试要点]java异常处理机制

java面试 自我介绍_java面试自我介绍 java面试自我介绍范文我叫赵××,我的同学更都喜欢称呼我的英文名字,叫unjs,六月的意思,是君的谐音,java面试自我介绍范文。不过, 在×大,我没法再像高中一样总是名列前茅了,到目前为止,我的综…我叫赵××,我的同学更都喜欢称呼我的英文名字,叫xx,六月的意思,是君的谐音。想了解java程序员面试指南除了前面提到的应试者面带微笑、目光交流、坐姿端正等表情、身体语言外,请以沉稳平静的声音、以中等语速、以清晰的吐字发音、以开朗响亮的声调给考官以愉悦的听觉享受,声音小而模糊、吞吞吐吐的人,一定是胆… 阅读详情

参考:http://blog.youkuaiyun.com/hguisu/article/details/6155636

Java异常分类

表内容

先祭出一张图这里写图片描述
Throwable: 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。
Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。例如,Java虚拟机运行错误(Virtual
MachineError),当 JVM 不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。
Exception(异常):是程序本身可以处理的异常。
Exception 类有一个重要的子类 RuntimeException。RuntimeException 类及其子类表示“JVM 常用操作”引发的错误。例如,若试图使用空值对象引用、除数为零或数组越界,则分别引发运行时异常(NullPointerException、ArithmeticException)和 ArrayIndexOutOfBoundException。

Java的异常(包括Exception和Error)分为可查的异常(checked
exceptions)和不可查的异常(unchecked exceptions):RuntimeException和Error,其中的可查异常出现时,要么用try-catch语句捕获它,要么用throws子句声明抛出它,否则编译不会通过,。如IOException、SQLException

Java异常处理机制

在 Java 应用程序中,异常处理机制为:抛出异常,捕捉异常。

捕获异常:try、catch 和 finally

try 块:用于捕获异常。其后可接零个或多个catch块,如果没有catch块,则必须跟一个finally块。

catch 块:用于处理try捕获到的异常。

finally 块:无论是否捕获或处理异常,finally块里的语句都会被执行。当在try块或catch块中遇到return语句时,finally语句块将在方法返回之前被执行。
在以下4种特殊情况下,finally块不会被执行:
1)在finally语句块中发生了异常。
2)在前面的代码中用了System.exit()退出程序。
3)程序所在的线程死亡。
4)关闭CPU。

try、catch、finally语句块的执行顺序:

1)当try没有捕获到异常时:try语句块中的语句逐一被执行,程序将跳过catch语句块,执行finally语句块和其后的语句;

2)当try捕获到异常,catch语句块里没有处理此异常的情况:此异常将会抛给JVM处理,finally语句块里的语句还是会被执行,但finally语句块后的语句不会被执行;

3)当try捕获到异常,catch语句块里有处理此异常的情况:在try语句块中是按照顺序来执行的,当执行到某一条语句出现异常时,程序将跳到catch语句块,并与catch语句块逐一匹配,找到与之对应的处理程序,其他的catch语句块将不会被执行,而try语句块中,出现异常之后的语句也不会被执行,catch语句块执行完后,执行finally语句块里的语句,最后执行finally语句块后的语句;若catch里面throw了异常,则finally语句块后面的语句不会执行

抛出异常 throw 和 throws
任何Java代码都可以通过throw抛出异常,从方法中抛出的任何异常都必须使用throws子句。

异常链:Java这种向上传递异常信息的处理机制
Java方法抛出的可查异常将依据调用栈、沿着方法调用的层次结构一直传递到具备处理能力的调用方法,最高层次到main方法为止。如果异常传递到main方法,而main不具备处理能力,也没有通过throws声明抛出该异常,将可能出现编译错误。

Throwable类中的常用方法
getCause():返回抛出异常的原因。如果 cause 不存在或未知,则返回 null。
  getMeage():返回异常的消息信息。
  printStackTrace():对象的堆栈跟踪输出至错误输出流,作为字段 System.err 的值。

Java常见异常
runtimeException子类:
1、 java.lang.ArrayIndexOutOfBoundsException
数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。
2、java.lang.ArithmeticException
算术条件异常。譬如:整数除零等。
3、java.lang.NullPointerException
空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等
4、java.lang.NegativeArraySizeException 数组长度为负异常
5、java.lang.ArrayStoreException 数组中包含不兼容的值抛出的异常
6、java.lang.SecurityException 安全性异常
7、java.lang.SecurityException 安全性异常
8、java.lang.ClassNotFoundException
找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常

IOException
1、IOException:操作输入流和输出流时可能出现的异常。
2、EOFException 文件已结束异常
3、FileNotFoundException 文件未找到异常

其他

ClassCastException 类型转换异常类
ArrayStoreException 数组中包含不兼容的值抛出的异常
SQLException 操作数据库异常类
NoSuchFieldException 字段未找到异常
NoSuchMethodException 方法未找到抛出的异常
NumberFormatException 字符串转换为数字抛出的异常
StringIndexOutOfBoundsException 字符串索引超出范围抛出的异常
IllegalAccessException 不允许访问某类异常
InstantiationException 当应用程序试图使用Class类中的newInstance()方法创建一个类的实例,而指定的类对象无法被实例化时,抛出该异常

Java中级面试专题:银盛支付深圳面试指南 自定义异常允许开发者创建特定于应用程序的异常类型,以更好地描述错误情况并提供更精确的错误处理。异常链是一个强大的技术,允许一个异常持有另一个异常的信息,从而能够传递更丰富的错误上下文。自定义异常的实现示例如下:通过构造方法传递一个Throwable类型的cause参数,可以创建一个异常链。 阅读详情

相关推荐

微信小程序 | 小程序开发

事实上,目前小程序在我们生活中已经随处可见(特别是这次疫情的推动,不管是什么岗位、什么年龄阶段的人,到哪都需要打开健康码)WePY是由腾讯开源的,一款让小程序支持组件化开发的框架,通过预编译的手段让开发者可以选择自己喜欢的开发风格去开发小程序。Mpvue是一个使用Vue开发小程序的前端框架,也是 支持 微信小程序、百度智能小程序,头条小程序 和 支付宝小程序;微信小程序、支付宝小程序、淘宝小程序、抖音小程序、头条小程序、QQ小程序、美团小程序等。,其他平台的小程序往往是平台本身的一些公司或者顺手开发的。

CoderHing的博客~ 1万+

【面试必背知识】Java 中常见的异常有哪些?

🔔 面试中常问到的一个问题 **“你在工作中遇到过什么异常?”**,面对这个问题,我们该怎么去回答呢?我们可以从以下几个方面去回答他,**首先介绍什么是异常,异常有什么作用,常见的异常有哪些,然后挑一个举例说明怎么遇到这种异常,面对异常我们该如何处理**。

激流丶的博客 3940

电脑的kernelbase.dll故障怎么处理?kernelbase.dll是什么文件

kernelbase.dll​是一个系统文件,属于Microsoft Windows操作系统的一部分。该DLL(动态链接库)文件包含了许多基本且低级的系统函数,这些函数被Windows上运行的各种程序和进程调用。kernelbase.dll通常与Kernel32.dll紧密相关,它是实现许多Windows API(应用程序编程接口)的封装。这些API涉及到内存管理、输入输出操作、进程和线程管理以及其他许多核心的操作系统功能。

电脑修复君的博客 4533

【Java异常】面试官问你Java中的异常,这篇就够了

介绍了Java中的异常处理机制,涵盖了从基础概念到高级技巧的各个方面。文章首先解释了Java异常的本质和层次结构,Java中的常见异常:NullPointerException、IndexOutOfBoundsException、ClassNotFoundException等。对于每种异常,文章都提供了具体示例和防范措施。异常处理技巧,包括try-catch块的使用、finally块的重要性、以及Java 7引入的try-with-resources语句。

随喜 2163

【软考高项】五十一、常见必会的几种进度网络图(单代号、双代号、七格图、横道图)

软考高项计算题进度网络图画图介绍

有莘不破的博客 3万+

ExpressLRS(ELRS)接收机技术全景:从历史演进、技术底层到产业生态全解析——上

ExpressLRS(ELRS)是一种由全球开源社区驱动的双向射频遥控链路协议栈,其接收机作为核心终端,承担信号接收解调、遥控指令解析、飞控数据交互与遥测回传等关键功能。自2018年问世以来,ELRS凭借极致性能、低成本、开放生态和强兼容性,从航模DIY方案发展为消费级无人机领域的事实标准,并逐步渗透工业级场景。 ELRS接收机采用模块化分层架构,支持2.4GHz和900MHz双频段,通过LoRa、FLRC、FSK多调制模式实现低延迟与远距离平衡。其核心技术包括自适应跳频抗干扰、TDD双向链路和极简数据包。

bother3000的博客 303

面试必问的一些关于Java中的异常,都总结在这里了!

综上所述,当你抛出或捕获异常的时候,有很多不同的情况需要考虑,而且大部分事情都是为了改善代码的可读性或者 API 的可用性。异常不仅仅是一个错误控制机制,也是一个通信媒介。因此,为了和同事更好的合作,一个团队必须要制定出一个最佳实践和规则,只有这样,团队成员才能理解这些通用概念,同时在工作中使用它。异常处理-阿里巴巴Java开发手册。

Java后端架构V 686

innovus:set_clock_latency与insertion_delay

当1ns clock latency设置在capture上,在report_timing报告中体现在other end arrival time以及capture clock path的Arrival Time上。因为-1ns的insertion delay存在,所以skew group报告中显示的Arrival (ns)是减1ns的结果,即1.819-1=0.819 ns。CTS阶段create_ccopt_clock_tree_spec之后,spec中会产生对应的insertion_delay命令。

m0_61544122的博客 1621

(JAVA学习笔记) 异常处理

文章目录什么是异常异常分类异常体系结构ErrorExceptionError和Exception的区别:异常处理机制代码演示自定义异常代码演示 什么是异常 异常指程序运行中出现的不期而至的各种情况,如:文件找不到,网络连接失败,非法参数等。 异常发生在程序运行期间,它影响了正常程序执行流程。 异常分类 要理解Java异常处理是如何工作的,需要掌握以下三种类型的异常: 检查性异常:最具代表性的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在的文件时,一个异常就发生了,这些

我真的很不错的博客 601

4、机器人建模、规划与控制及运动学知识解析

本博客深入解析了机器人建模、规划与控制的核心内容,涵盖运动学与动力学的基本原理,并结合典型应用场景探讨了移动机器人与操作器的控制策略。同时,博客还介绍了机器人技术的发展趋势及其在工业和服务领域的广泛应用。

desk3的博客 123

软考高级-系统架构设计师 论文范文参考(一)

系统架构设计师 论文参考

片言可决讼,半纸能缚龙 4341

Java异常面试题

文章目录1. Error 和 Exception 区别是什么?2. 运行时异常和一般异常区别是什么?3.NoClassDefFoundError 和 ClassNotFoundException 区别?4. JVM 是如何处理异常的?5. throw 和 throws 的区别是什么?6. 常见的 RuntimeException 有哪些?7. Java常见异常有哪些 1. Error 和 Exce...

ThinkWon的博客 1万+

2026最新YOLO26改进:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

针对YOLO26模型改进痛点,本专栏整理200+实战验证方法,覆盖卷积层、注意力机制等核心模块。 每种方法含原理、性能分析、改进路径及实操流程,代码可直接运行,快速提升模型效果,性价比超高。

魔改工程师的博客 1万+

63、C++或Java中的异常处理机制的简单原理和应用。

63、C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。 违反语义规则包括2种情况。 一种是JAVA类库内置的语义检查。 例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发 NullPointerException。 另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用 throw关键

kaszxc的博客 360

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

pscad IEEE标准系统搭建说明

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

JAVA基础面试题:Java中的异常处理机制与最佳实践

Java的异常处理机制是保证程序健壮性的重要手段,合理使用异常处理可以显著提高代码的可靠性和可维护性。在实际开发中,应该遵循最佳实践,结合业务场景设计健壮的异常处理策略。Victor的回答让面试官频频点头,显然对他的表现非常满意。

qq_61302385的博客 863

IMSL CNL 7.0.0 (x86-64)Crack

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

Java Web高级面试题(一)

Java Web高级面试题(一)

不迁怒,不贰过。小知识,大智慧。 1298

Statistics and Machine Learning Toolbox

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

Java 高级面试问题及答案

Java 的异常处理机制是程序健壮性的关键部分,它允许程序在出现异常情况时能够优雅地恢复或终止。异常处理机制的核心是Throwable类,它是 Java 中所有错误或异常的超类。异常可以分为已检查异常(checked exception)和未检查异常(unchecked exception)。已检查异常必须被捕获或声明抛出,而未检查异常则不需要。

代码互助协会的博客 113

Java面试题综合总结(后端)

走在应届毕业生的路上,特此总结了一些面试题,还望一起学习交流。 1.面向对象和面向过程的区别 面向过程 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。 缺点:没有面向对象易维护、易复用、易扩展 面向对象 优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出...

codemaster1024的博客 283

Java基础面试题总结2022

Java基础知识是面试中重要的一环,问题的回答要往更深的程度上进行思考回答。希望这里的总结能在面试中帮助到你。 如果小伙伴发现哪里有错误可以评论指出,我这边会及时优化! 文章目录1、==和equals比较2、hashCode与equals3、final finally finalize区别4、String、StringBuffer、StringBuilder的区别及应用场景5、重载和重写的区别6、接口和抽象类的区别(问的很多)6、Java反射反射应用场景Java获取反射的三种方法7、JAVA 异常分类及处.

冰蛙 1156

面试大全Java八股文合集

1. Java为什么是单继承,为什么不能多继承?首先,Java是单继承的,指的是Java中一个类只能有一个直接的父类。Java不能多继承,则是说Java中一个类不能直接继承多个父类。 Java语言之所以摒弃了多继承的这项特征,是因为多继承容易产生混淆。比如,两个父类中包含相同的方法时,子类在调用该方法或重写该方法时就会迷惑。 准确来说,Java是可以实现"多继承"的。因为尽管一个类只能有一个直接父类,但是却可以有任意多个间接的父类。这样的设计方式,避免了多继承时所产生的混淆。

2301_78976656的博客 2077

java初级面试

java初级面试 重载(Overload)和重写(Override)的区别? 重载:在同一个类中 方法相同参数不相同 参数类型不同 重载对返回类型没有特殊的要求 重写:子类重写父类方法要求方法名、方法的参数都相同返回类型也相同 解释内存的栈(stack)、堆(heap)和方法区(method area)的用法. 堆区: 存储的全部是对象被所有线程共享 堆是一块很大的区域 所有通过new关键字都存放...

qq_43269949的博客 966

java面试基础第一课

动态调用和处理属性;1.在运行时分析类的能力–检查类的结构–所用到的就是java.lang.reflect包中的Field、Method、Constructor,分别用于描述类的与、方法和构造器。super和this都只能位于构造器的第一行,而且不能同时使用,这是因为会造成初始化两次,this用于调用重载的构造器,super用于调用父类被子类重写的方法。5,一个.java文件中,只能存在一个类是用public修饰的,并且这个类必须与类名一致,文件中其他的类不能是public权限的,但可以有很多个类。

omonday1234的专栏 961

两万字Java研发工程师实习面试HR提问整理(基础篇)

前言 java研发工程师实习,面试大多是比较基础的问题,HR面试实习生更多的注重基础, 一面一般是面试java相关基础,二面会涉及到项目,三面就是对公司,自己的职业规划方面的考量。一般是三面,大厂实习有四面五面,java学完了,感觉掌握了很多,也感觉问到问题又不能很好的回答出来,这就需要自己去整理知识点,系统的复习。本文整理的是HR常问问题以及我自己不能够很完整答出来的问题。希望能帮到大家。 文章目录前言第一部分:java基础问题1.java的跨平台原理2.java面向对象的特征一、封装(类)二、继承三、多

Dan的博客 2041

2020最新最全版!Java面试题大全

本套Java面试题大全总共分为以下这三个模块:Java基础知识面试题 Java异常面试题 JVM面试题 因为篇幅有限,这里只展示了一部分。有需要完整版的朋友(Java+并发+Spring+MySQL+分布式+Redis+算法+JVM等,附答案)可以点一点链接跳转领取:链接:点这里!!!暗号:优快云1、Java概述何为编程? 什么是Java? jdk1.5之后的三大版本? JVM、JRE和JDK的关系? 什么是跨平台性?原理是什么? Java语言有哪些特点? 什么是字节码?采用字节码的最大好处是什么? 什么

Ajekseg的博客 171
上一篇: [面试要点]Java中Queue的应用
下一篇: [面试要点]java io编程
oldbig_lin
博客等级 码龄10年 78粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值