Java 异常种类及处理方法
概述
异常的基类是 Throwable
, Throwable
有两个子类:
Exception
: 表示可以恢复的异常, 编译器可以捕捉。Error
: 表示编译时和系统错误, 表示系统在运行期间出现了严重的错误, 属于不可恢复的错误。
受检异常和非受检异常
- 受检异常指的是在编译期间会接受编译器检查, 且必须要处理(
try... catch
处理掉或直接在方法签名中使用throws
抛出), 否则会编译出错。- 此类异常是除了
RuntimeException
和Error
外所有的异常, 例如IOException
、InterruptedException
、SQLException
。
- 此类异常是除了
- 非受检异常 指的是编译期间不会接受编译器检查, 不必处理的异常。
- 此类异常包括了
RuntimeException
和Error
的所有异常。
- 此类异常包括了
异常处理
一般有两种方法来处理异常 : try...catch
或直接在方法签名中使用 throws
抛出。
catch 使用注意事项
- 参数的异常类型必须是
Throwable
类型。 - 如果有多个
catch
语句块, 则从上到下必须按照从 子类到父类 的顺序排布, 否则会编译出错。
finally 使用注意事项
finally
里面的代码一般情况下会执行, 但是如果在try
或者catch
中执行System.exit(1)
(即虚拟机退出)时, 不会执行finally
中的代码。finally
中最好不要出现return
语句, 因为最终执行的一定是finally
里面的return
。
Java 异常种类及处理方法相关推荐
- Java异常打印输出中常见方法的分析
Java异常是在Java应用中的警报器,在出现异常的情况下,可以帮助我们程序猿们快速定位问题的类型以及位置.但是一般在我们的项目中,由于经验阅历等多方面的原因,依然有若干的童鞋在代码中没有正确的使用异 ...
- Java异常面试问题
转载自 Java异常面试问题 1.什么是Java中的异常? 异常是在程序执行期间可能发生的错误事件,并且会中断它的正常流程.异常可能来自不同类型的情况,例如用户输入的错误数据,硬件故障,网络连接故 ...
- java 异常面试问题_Java异常面试问答
java 异常面试问题 Java provides a robust and object-oriented approach to handle exception scenarios known ...
- java中的异常种类和区别以及处理机制和区别
java中的异常种类和区别以及处理机制和区别 按照异常需要处理的时机分为编译时异常(也叫强制性异常)也叫 CheckedException 和运行时异常(也叫非强制性异常)也叫 RuntimeExce ...
- JAVA常见异常种类
Java类库的每个包中都定义了异常类,所有这些类都是Throwable类的子类,Throwable类属于java.lang包,每个java程序运行时系统会自动引入此包:Throwable类有两个子类, ...
- 【Java 异常】try-catch、finally、异常的种类、throws、thorw、自定义异常、断言类
异常 开发中的错误(语法错误.逻辑错误.异常) 异常(Exception) try-catch 异常对象的常用方法(getMessage.printStackTrace) finally 异常的种类( ...
- JAVA产生异常并打印,Java中异常打印输出的常见方法整理
前言 Java异常是在Java应用中的警报器,在出现异常的情况下,可以帮助我们程序猿们快速定位问题的类型以及位置.但是一般在我们的项目中,由于经验阅历等多方面的原因,依然有若干的童鞋在代码中没有正确的 ...
- Java常见异常种类及产生原因
Java常见异常种类及产生原因 JAVA异常共分为下列几种 Error JAVA环境编译错误 Runtime Exception 运行处异常 Exception 标准Java库方法异常 throw 用 ...
- java.util.ConcurrentModificationException异常原因及解决方法
java.util.ConcurrentModificationException异常原因及解决方法 参考文章: (1)java.util.ConcurrentModificationExceptio ...
最新文章
- 人民日报:大数据时代如何保证数据安全?
- 【聚类算法】sklearn聚类方法详解
- 为sap的alv的最左侧添加【选中】按钮用于同时选中多行...
- mysql 5.7.13安装_安装MySQL 5.7.13
- linux io 分析,Linux 下的I/O性能分析 iotop
- 1017. A除以B (20)
- 【Python】Python3编码规范
- ElementUI项目优化上线
- android 区域交错,android - 自动调整交错GridLayoutManager - 堆栈内存溢出
- 类的实例属性和类属性的区别
- Dubbo入门----搭建一个最简单的Demo框架
- 陀螺仪数据转换成角度_请教怎么把用陀螺仪积分得到的角度转换到大地坐标系下?...
- 视频播放器本地代理服务设计
- Matlab中的atmoscoesa函数与atmosisa函数——不同海拔下的标准大气参数查询
- 微信群裂变引流文案技巧,这样写文案更吸引粉丝!
- 云计算的主要应用领域
- Camera效果测试-色彩准确性及饱和度测试
- Trinity安装与报错
- python求100内五的倍数_100一百以内5的倍数有哪些
- 护理方面关于人工智能的构想_谷歌秘密的atap实验室正在构想智能设备的未来...
热门文章
- 功能区不显示工具条_【新老客户必知】软件支持超高清屏显示器了
- 项响琴C语言书籍在线浏览,电子琴 c语言程序
- python变量分类_Python 入门系列 —— 5. 三大变量类型介绍
- Python获取电脑CPU序列号、主板序列号、BIOS序列号、硬盘序列号列表、网卡MAC地址
- shiro整合mybatis数据库
- Executors源码解读——创建ExecutorService线程池
- ui测试怎么做?依据文档有哪些_微信小程序开发流程有哪些?各个环节注意事项...
- 如何用计算机算矩阵,【活用工具】教你如何用卡西欧fx82es计算机计算复数 矩阵...
- dataguard mysql,[dataguard同步数据库]Dataguard环境下数据库的备份与恢复
- linux用java连接mysql_Java使用JDBC方式连接数据库