最近写的代码有很多涉及自定义异常类,慢慢对Exception和RuntimeException有了一点体会,做一下简单的总结归纳。

Java中,所有非正常情况被分为两种:Error和Exception。
Error错误,一般是与JVM相关的问题,比如虚拟机崩离、虚拟机错误、动态链接失败等等,这种错误无法恢复或不可能捕获,将导致应用程序中断。通常应用程序不应该使用catch块捕获Error对象。定义方法时也无须在其throws子句中声明该方法可能抛出Error及其任何子类。
Exception中有checked和unchecked(runtime)之分,checked是指普通的Exception,而unchecked是指RuntimeException。当用throw语句抛出异常时,若异常为unchecked,那么就无须使用throws子句或者try…catch语句捕获异常;反之则必须做一定的处理或者直接声明抛出。当然,既然RuntimeException继承自Exception,那么自然也是可以try…catch捕获处理的。
这里对异常体系的介绍比较简略,且暂时不深入介绍,下面做一下总结:
自行抛出的RuntimeException比起自行抛出的Checked异常灵活性更好,同样地,抛出Checked异常则可以让编译器提醒程序员必须处理该异常。
故而,最近写的数据结构demo的自定义异常类基本是继承了RuntimeException,显得比较简便。

【Java】异常处理体系概述相关推荐

  1. Java EE体系概述

    https://segmentfault.com/a/1190000007090110 转载于:https://www.cnblogs.com/dpqq/p/10732373.html

  2. 异常处理关于数组java_关于java异常处理的自我学习

    算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeAr ...

  3. java网络学习之 jca体系概述(12)

    java安全体系包括以下:JCA.JCE.JSSE.JAAS.JGSS.SASL jca 概述 JCA主要包含了多个服务分别用于数字签名,消息摘要(哈希),证书和证书验证,加密(对称/非对称块/流密码 ...

  4. JavaSecurity和JAAS——Java标准安全体系概述(上)

    前言:java标准安全体系分为两大部分,一个是在JDK1.0引入并在JDK2进行了重构的代表着以代码为中心的授权体系.此体系下,关注的重点在于"这段代码能访问哪些系统资源":另一个 ...

  5. java 异常 抛 效率_一文带你理清Java异常体系,提高开发效率

    一.概述 我们在项目开发的过程中使用异常是必不可少的事情,那么异常会带来哪些好处呢? 我们知道异常带来的最明显的好处是,它能够降低错误处理代码的复杂度.不使用异常的话,我们就必须检查一些特定的错误,并 ...

  6. 复习Java异常处理_异常分类_自定义异常_线程初步了解

    复习Java异常处理_异常分类_自定义异常_线程 主要内容 异常.线程 教学目标 第一章 异常 1.1 异常概念 异常,就是不正常的意思.在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点 ...

  7. Java学习体系(骨灰级详细)

    一颗小草,一个学生.因为没有在这里看到我想见的内容,那便自己写.发表一下自己对于Java的拙见.(待完善:1/10) 预计有五个阶段,目前待完善. 一,Java基础 第一阶段(Java基础) 01-环 ...

  8. JAVA知识体系之JVM篇(新)

    目录 1.Java概述 1.1 Java技术体系 1.2 Java发展历史 2.类文件解析 2.1 类文件结构 2.1.1 魔数(magic) 2.1.2 大小版本号(minor_version &a ...

  9. java知识体系-最新总结(2022版)

    目录 Java面试总结 基础知识 Java概述 基础语法 面向对象 集合框架 IO流 网络编程 常用API 常用工具类库 单元测试 异常 日志 工具 IDEA Eclipse & STS Ma ...

最新文章

  1. Windows锁定计算机C代码编程实现
  2. AI For Everyone:Andrew Ng想用30分钟的非技术课程传达的内容
  3. onkeyup,onkeydown和onkeypress
  4. 并发编程——线程——Thread对象的属性和方法
  5. 快手直播平台演进之路
  6. JVM调优总结(3):垃圾回收面临的问题
  7. es6 --- Promise封装读取文件操作
  8. mysql blob取值_MySQL 数据类型:
  9. nedc工况_东南DX3 EV续航升级 NEDC综合工况续航451公里
  10. PyCharm配置django环境
  11. tomcat和nginx配置java服务器
  12. GCD三部曲之一---辗转相除法
  13. 2018-08-06
  14. Hive导入和导出数据
  15. MariaDB 10.3 instant ADD COLUMN亿级大表毫秒级加字段
  16. 连接linux常用的工具
  17. 手把手带你玩转Spark机器学习-Spark的安装及使用
  18. 最好的 6 款 React 后台管理系统模板和框架
  19. 八段数码管数字显示实验c语言,硬件实验十 八段数码管显示
  20. java罗马帝国下载,Java程序设计2020满分完整版考 试题库大全

热门文章

  1. Python全栈开发:web框架们
  2. HDU1174(空间点到直线的距离,用叉积)
  3. 《吴恩达深度学习》第一课第四周任意层的神经网络实现及BUG处理
  4. 简易的实现对象内存池
  5. 第六届省赛(软件类)真题----Java大学B组答案及解析
  6. python视图函数是什么意思_Flask初学者:视图函数
  7. vscode html 格式化_详解VSCode 格式化不符合预期的问题
  8. 谷歌浏览器不能上网_谷歌浏览器插件下载及安装教程!
  9. mysql innodb隔离级别_浅析MySQL InnoDB的隔离级别
  10. android webview es6,Android v 5.0 webview HTML5,CSS3和ES6兼容性