什么是异常Exception、简单分类、异常体系结构

一、什么是异常

  • 实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对、你要读取数据库的数据,数据可能是空的等。我们的程序在跑着,内存或硬盘可能满了,等等。
  • 软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是:Exception,意思是例外。这些,例外情况,或者叫异常,怎么让我们写的程序做出合理的处理,而不至于程序崩溃。
  • 异常指程序运行中出现的不期而至的各种状态,如:文件找不到、网络连接失败、非法参数等。
  • 异常发生在程序运行期间,它影响了正常的 程序执行流程。

程序报错示例一:

package com.jacyzhu.exception;

public class Demo01 {
    public static void main(String[] args) {
        new Demo01().a();
    }

    public void a() {
        b();
    }

    public void b() {
        a();
    }
}

在这里插入图片描述
程序报错示例二:

package com.jacyzhu.exception;

public class Demo01 {
    public static void main(String[] args) {
        System.out.println(11/0);
    }
}

在这里插入图片描述
程序报错示例三:

package com.jacyzhu.exception;

public class Demo01 {
    public static void main(String[] args) {
        System.out.println()
    }
}

在这里插入图片描述

二、简单分类

  • 要理解Java异常处理是如何工作的,你需要掌握以下三种类型的异常:
    1. 检查性异常:最具代表性的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
    2. 运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以咋编译时被忽略。
    3. 错误Error:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。

三、异常体系结构

  • Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。
  • 在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception
    在这里插入图片描述

Error

  • Error类对象由Java虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关。
  • Java虚拟机运行错误(Virtual MachineError),当JVM不再有继续执行操作所需的内存资源时,将出现OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。
  • 还有发生在虚拟机试图执行应用时,如类定义错误(NoClassDefFoundError)、链接错误(LinkError)。这些错误是不可查的,因为它们在应用程序的控制和处理能力之外,而且绝大多数是程序运行时不允许出现的状况。

Exception

  • 在Exception分支中有一个重要的子类RuntimeException(运行时异常)
    ArrayIndexOutOfBoundsException(数组下标越界)
    NullPointerException(空指针异常)
    ArithmeticException(算术异常)
    MissingResourceException(丢失资源)
    ClassNotFoundException(找不到类)等异常,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。
  • 这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。
  • Error和Exception的区别:Error通常是灾难性的致命的错误,是程序无法控制和处理的,当出现这些异常时,Java虚拟机(JVM)一般会选择终止线程;Exception通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理这些异常。
zsl2010zsl
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
异常Exception
weixin_67807492的博客
11-25 2438
自定义异常的步骤:1. 定义类:自定义异常类名(自己写)必须继承Exception 或者 RuntimeException2. 如果继承Exception,则属于编译异常3. 如果继承RuntimeException,则属于运行异常
什么是异常?如何处理和定义异常呢?
weixin_61898502的博客
06-03 1162
异常定义,处理,定义
Java 异常架构Exception异常
最新发布
Flying_Fish_roe的博客
09-01 1475
Java中,Exception类是Throwable类的直接子类之一。Throwable类是Java异常处理体系的根类,所有异常和错误都继承自它。Throwable:所有异常和错误的基类。Exception:程序可能捕获并处理的异常。受检异常(Checked Exception):必须显式捕获或声明抛出的异常。非受检异常(Unchecked Exception):包括运行时异常()及其子类,不强制要求捕获或声明。Error:由JVM生成的严重错误,通常不可恢复。
Day31.异常机制 -Java异常
阿昌爱Java
09-03 377
异常机制 什么是异常 实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。完美的程序再跑着,内存或者硬盘可能满了。等等… 软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是:Exception,意思是例外。这些,例外情况,或者叫异常,怎么让我们写的程序做出合理的处理。而不至于程序崩溃。 异常指程序运行中出现的不期而至的各种状况,如:文件找不到
host error什么意思_pyspark建模,为什么做完特征变换后样本减少了?
weixin_39623350的博客
11-27 661
前几天在用pyspark建模的时候,遇到一个非常怪异的情况,我对特征做完编码后,数据量变为了1/3,我顿时感觉很惊讶,怎么突然少了这么多,那结果还准确嘛?offline原始dfcnt这就是当时的数据情况,基本意思是,我对特征做完均值填充后还有642402个样本,到onehot后就只剩下276848个样本了,后面做归一化后又变了,难道做个onehot编码样本数还会变吗?我又找了具体的代码看了下具体的...
host error什么意思_go语言学习总结(三十九)eflect为什么慢
weixin_39550587的博客
11-29 1599
在上一篇《reflect实践与剖析》的文章中,本来打算写的更深入一点,结果发现reflect里面的东西太多了,在一篇文章中很难写全,就草草收尾了。今天谈一谈关于reflect的另一个问题:reflect为什么慢?先问是不是,再问为什么。我们先来看一下reflect是不是真的慢。Golang testinggolang提供了一个testing包,使得单元测试、性能测试尤为简单。只要新建一个以_tes...
异常(Exception)
m0_52066291的博客
07-14 829
这是一篇关于异常的笔记
java异常体系结构
06-11
Java异常体系结构Java语言的重要组成部分,它负责处理程序执行过程中出现的错误情况。在Java中,异常由Throwable类及其子类构成。Throwable是所有异常的顶层父类,它有两个直接子类:Error和Exception。Error类...
JAVA异常体系结构详解
08-28
Java异常体系结构可以分为两大类:Error和Exception。Error是一种严重的错误,是程序无法处理的异常,例如内存溢出(OutOfMemoryError)和线程死亡(ThreadDeath)等。Exception是程序本身可以处理的异常,分为运行时...
Java异常处理:体系结构分类及应用
- `try-catch`结构:这是最常见的异常处理模式,通过`catch`块捕获异常,执行适当的错误处理逻辑,比如记录日志、向用户显示友好的错误消息或回滚操作等。 - `throws`声明:当方法不能处理它可能引发的异常时,...
Java异常体系结构.pdf
11-25
Java异常体系结构的核心是`java.lang.Throwable`类,它是所有异常和错误的顶级父类。`Throwable`有两个直接子类,即`Error`和`Exception`。`Error`通常代表系统级或环境级别的问题,比如`OutOfMemoryError`和`...
host error什么意思_数据库读写分离为什么可以提高性能
weixin_39532352的博客
11-30 1982
虽然知道处理大数据量时,数据库要做读写分离,但是为什么读写分离可以提高性能呢?一 什么是读写分离MySQL Proxy最强大的一项功能是实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中 的从数据库。 当然,主服务器也可以提供查询服务。使用读写分离最大的作用无非是环境...
host error什么意思_今天才知道什么是RPC ,还可以用PHP来实现!!
weixin_39883906的博客
11-29 4504
文章来自:https://www.cnblogs.com/993089249a/p/11749268.html作者:leifeng点击加入:PHP自学中心技术交流微信群商务合作:请加微信(QQ):2230304070精选教程推荐视频教程分享1高级PHP后端求职需要必备哪些技能2设计模式是成功经验的总结,建议好好学习一下3做开发的不用Git,那就对不起自己啦4别再小看PHP了,它...
host error什么意思_nginx error是什么意思
weixin_39520775的博客
11-20 6321
nginx error是什么意思?nginx error就是Nginx服务器出现错误的意思,我们可以通过查看Nginx的日志log文件,来查看nginx错误的原因。解决这个问题,主要有两种方法:方法1 (永久调整) :vi /etc/security/limits.conf在文件末加上: * soft nofile 8192 * hard nofile 20480 ,同时vi /etc/sysct...
host error什么意思_不懂 http 协议,连 nginx 为什么这么协议都不懂
weixin_39632693的博客
11-28 3091
不懂 http 协议,连 nginx 为什么这么协议都不懂在 nginx 中,proxy_pass 是我们做内部转发时很常见的命令,同时少不了用proxy_set_header设置转发时的头部。细看文档,你会发现 nginx 会默认为你转发时设置两个头部:proxy_set_header Host $proxy_host; proxy_set_header Connection clo...
异常简单使用
qq_58491930的博客
01-09 462
1.什么是异常 异常是指程序在运行过程中发生的,由于外部问题导致的程序运行异常事件,异常的发生往往会中断程序的运行。在 Java 这种面向对象的编程语言中,万物都是对象,异常本身也是一个对象,程序发生异常就会产生一个异常对象。 2.异常分类 系统级别无法规避的异常(Error) 程序员可以捕获解决的异常Exception) 二者都是 Java异常终极bossThrowable异常处理的重要子类,各自都包含大量子类。 3.异常执行顺序 try: try块中放可能发生异常的代码。 如果执行完
Java中的异常(Exception)
SakuraMG的博客
12-15 1145
下面代码中的注释写的很清楚。//1.当执行到num1/num2,因为num2 = 0,程序就会抛出异常ArithmeticException。Arithmetic(adj 算术的)//2.抛出异常后,程序就退出,因为崩溃了,下面的代码不再执行。//3.在2中叙述的情况,在现实中不合理,不应该因为出现了一个不算致命的问题,就导致整个系统崩溃。//4.因此java设计者提供了一个叫 异常处理机制 来解决该问题。System.out.println("程序继续运行......");
host error什么意思_如果将relay_log_recovery设置为0会发生什么?
weixin_39723920的博客
11-26 1057
| 背景在MySQL5.7版本中,开启并行复制后,设置relay-log-recovery=1,从库启动后偶尔会报错,类似于https://bugs.mysql.com/bug.php?id=83713。所以尝试将relay-log-recovery设置为0,观察会发生什么。| 环境MySQL5.7.22GTID模式relay-log-recovery=0relay_log_purge=offsy...
java 异常类结构_java Exception异常体系结构简述
weixin_33201508的博客
02-16 353
首先异常是程序在运行时出现的错误,java异常当做对象来处理 ,并定义了一个基类 java.lang.Throwable,作为所有异常的超类,在Java API中定义了许多异常类,分为两大类,错误Error和异常Exception。其中异常类Exception又分为运行时异常(RuntimeException)和非运行时异常(非runtimeException),也称之为不检查异常(Unchec...
写文章

热门文章

  • 认识Trino 6704
  • vue渲染过程中显示{{xxx}},该如何解决?——亲测有效 2013
  • 如何使用IntelliJ IDEA新建一个空工程? 1746
  • 循环结构——for循环 1428
  • 运算符(算术、赋值、关系、逻辑、位、条件、扩展) 1379

最新评论

  • vue渲染过程中显示{{xxx}},该如何解决?——亲测有效

    东东不邪: 加了没用,把vue.js包引用放到head中解决了

最新文章

  • 数据库原理与应用——引言(三)
  • 数据库原理与应用——引言(二)
  • 数据库原理与应用——引言(一)
2022年87篇
2020年5篇
2019年1篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家广东美陈玻璃钢卡通雕塑费用十二生肖玻璃钢雕塑厂家昌吉玻璃钢雕塑订制昆明景观玻璃钢雕塑哪家便宜玻璃钢雕塑沙发温州玻璃钢仿铜雕塑制作广东佛像玻璃钢雕塑方法深圳创意玻璃钢雕塑商场装饰玻璃钢卡通雕塑销售价格云南水果玻璃钢雕塑农耕文化玻璃钢雕塑四川商业商场美陈销售防城港玻璃钢雕塑厂家直销四川玻璃钢雕塑雕塑公司上海大型主题商场美陈售价玻璃钢雕塑产品厂家咨询汉中玻璃钢雕塑工厂宿州制作玻璃钢雕塑厂电话长宁区进口玻璃钢雕塑价格行情青岛市玻璃钢人物雕塑批发厂家四川玻璃钢雕塑设计企业焦作玻璃钢景观雕塑玻璃钢彩虹雕塑雕塑玻璃钢喷漆宁德玻璃钢雕塑定制深圳小品玻璃钢雕塑商场美陈的价格多少钱一平方深圳大象玻璃钢雕塑制作北京玻璃钢花盆设计厂家舞钢玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化