异常Exception

news2024/9/21 18:31:43

 1.异常是什么?

        程序中可能出出现的问题

2.异常体系的最上层父类是谁?异常分为几类

        父类:Exception

        异常分为两类:编译时异常、运行时异常

3.编译时异常和运行时异常的区别

        编译时异常:除了RuntimeException和他的子类,其他都是编译时异常。编译阶段许哟啊进                                行处理,作用在于提醒程序员

        运行时异常:RuntimeException本身和所有子类,都是运行时异常。编译阶段不报错,是程                               序运行时出现的。一般是由于参数传递错误带来的问题

4.异常的作用

        作用一:异常使用来查询bug的关键参考信息

        作用二:异常可以作为方法内部的一种特殊返回值,以便通知调用者底层的执行情况

5.异常的处理方式

        JVM默认处理异常的方式:(1)把异常的名称,异常的原因及异常出现的位置等信息输出在                                                               了控制台

                                                    (2)程序执行停止,异常下面的代码不会在执行了

        自己处理(捕获异常):(1)出现异常的地方会创建一个对应的异常对象,然后会拿着这个                                                           对象到catch的小括号中对比,看括号中的变量是否可以接受                                                             这个对象,如果能被接收,就表示该异常能被捕获,就会执行                                                           catch中对应的代码,当catch里面的代码全部执行完毕,继续                                                           执行try...catch体系下面的代码

                                                 (2)好处:可以让程序继续往下执行,不会停止

        自己处理(灵魂四问):(1)如果try中没有遇到问题,怎么执行?

                                                           答:会把try里面多有的代码全部执行完毕,不会执行catch                                                                      里面的代码

                                                  (2)如果try中可能会遇到多个问题,怎么执行?

                                                           答:会写多个catch与之对应,父类异常需要写在下面

                                                  (3)如果try中遇到的问题没有被捕获,怎么执行

                                                           答:相当于try...catch白写了,当前异常会交给虚拟机处理

                                                  (4)如果try中遇到了问题,那么try下面的其他代码还会执行吗?

                                                           答:不会执行了。try中遇到问题,直接跳转到对应的catch                                                                      如果没有对应的catch与之匹配,则交给虚拟机处理

        抛出 throw throws:在方法中出现异常了,这个方法就没有继续执行下去的意义类,采取抛                                            出处理。让该方法结束运行并告诉调用者出现了问题

        

6.异常的常见方法

        public void printStackTrace():在底层是利用System.err.println进行输出

                                                              把异常的错误信息以红色字体输出在控制台

                                                              细节:仅仅是打印信息,不会停止程序运行

7.自定义异常

        意义:就是为了让控制台的报错信息更加见名知意

        步骤:(1)定义异常类;

                   (2)写继承关系,编译时异常继承Exception,运行时异常继承RuntimeException

                   (3)带参构造和空参构造

                                     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/57943.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为悦盒ec6108v9c使用ADB卡刷Linux(Ubuntu)

1. adb连接华为ec6108v9c: adb连接盒子IP: adb connect 192.168.3.4进入adb shell: adb shell在安卓后台终端输入以下命令,读取盒子的 reg name 管脚对应名称: cat /dev/block/mmcblk0p1 | grep -a hi3798m 2. 用Hitool工具制作对应你盒子reg名称的烧…

Python测试进阶(一)

文章目录测试框架pytestMarkskip参数化异常处理数据驱动Allure集成生成报告Fixture基操作用域yield数据共享自动应用参数化ini运行规则配置命令行参数指定/忽略执行目录配置日志插件开发常用插件分布式并发自定义插件打包发布hook小结测试框架 先了解unittest问题分析 自动化测…

SAS,Stata,HLM,R,SPSS和Mplus分层线性模型HLM分析学生受欢迎程度数据

全文链接:http://tecdat.cn/?p10809本文用于比较六个不同统计软件程序(SAS,Stata,HLM,R,SPSS和Mplus)的两级分层线性模型的过程和输出(点击文末“阅读原文”获取完整代码数据&#…

Java项目:SSM学生会管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目分为管理员、学生两种角色, 管理员角色包含以下功能: 管理员登陆,管理学生,管理机构,活动信息发布,部门管理,职位…

仿SpringBoot启动Dome实现

文章目录前言环境搭建依赖项目结构实现启动获取服务器自动配置启动Tomcat总结前言 填一下以前这篇博文:如何纯注解整合Spring SpringMVC Mybatis埋下的坑,我们来简单的了解一下SpringBoot它做的一些自动配置是怎么一回事,同时也看看SpringBo…

【人民币识别】人民币序列号识别【含GUI Matlab源码 908期】

⛄一、简介 本文描述的人民币序列号识别系统实现了从图像预处理到识别结果的过程, 而序列号识别是本文的重要内容.以序列号区域为研究对象, 主要包括图像预处理、图像分割以及序列号识别等过程。 1 图像预处理 人民币图像总体上来说灰度偏高, 灰度值基本上都大于150 (对8位25…

具有平滑正曲线边界的一般凸体的精确闭式闵可夫斯基研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

Minecraft 1.19.2 Forge模组开发 04.动画效果物品

我们本次实现一个具有动画效果的物品,本次演示的模型代码均在文末给出 效果演示效果演示效果演示 首先,请确保你的开发包中引入了geckolib依赖,相关教程请参考:Minecraft 1.19.2 Forge模组开发 03.动画生物实体 1.首先我们要使用geckolib制…

(三)操作系统的运行环境

文章目录一、操作系统的运行机制1. 时钟管理2. 中断机制3. 原语4. 系统数据结构5. 系统调用二、操作系统体系结构1. 传统的操作系统结构(大内核)第一代:无结构OS第二代:模块化结构OS:模块-接口法OS第三代:分…

[附源码]计算机毕业设计springboot学习帮扶网站设计与实现

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

坦克大战②

1. 我方坦克发射单颗子弹 当发射一颗子弹后,就相当于启动一个线程来控制它的位置坐标;Hero[我方坦克]有子弹的对象,当按下J时,就创建一个发射子弹的线程,通过坐标变化让子弹不停的移动,形成一个射击的效果&…

redis 集群搭建的三种方式

文章目录一、Redis主从二、Redis哨兵三、Redis集群一、Redis主从 二、Redis哨兵 三、Redis集群 下载redis wget http://download.redis.io/releases/redis-5.0.3.tar.gz解压redis tar zxvf redis-5.0.3.tar.gz进行重命名 mv redis-5.0.3 redis安装gcc yum install gcc进入red…

如何学习一门技术

如何学习一门技术 同样的生活,在你经历了一些意外和不如意之后,你再回过头来看,之前你所抱怨的生活其实是一个蛮不错的生活。 罗翔:每一个人都应该拥有学习的能力和权力,真正的知识要能走出书斋,去影响每…

StarkNet 性能路线图

目录 前言 区块限制:Validity Rollups vs L1 为什么 L1 吞吐量有限? 为什么相同的障碍不影响validity rollups? Sequencer 并行化 Cairo-VM 的新 Rust 实现 Rust 对 sequencer重新实现 Provers呢? Summary 参考 前言 St…

详解设计模式:迭代器模式

迭代器模式(Iterator Pattern)也被称为游标模式(Cursor Pattern),是在 GoF 23 种设计模式中定义了的行为型模式。是一种最简单也最常见的设计模式。 迭代器模式 可以让用户透过特定的接口巡访容器中的每一个元素而不用…

HTML5期末大作业:美食网页主题网站设计与实现——HTML+CSS+JavaScript月饼美食食品企业网站html模板9页面

👨‍🎓静态网站的编写主要是用HTML DIVCSS JS等来完成页面的排版设计👩‍🎓,常用的网页设计软件有Dreamweaver、EditPlus、HBuilderX、VScode 、Webstorm、Animate等等,用的最多的还是DW,当然不同软件写出的…

[附源码]计算机毕业设计校园运动会管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Linux基本工具——vim

Linux编辑器vim什么是vimvim的三种常用模式vim的基本操作命令模式插入模式底行模式搭配vim环境sudo怎么才能让普通用户使用什么是vim vim是linux下一款功能强大,多模式的编辑器。 现阶段有13种模式。 这就是进入vim的方式。 vim的三种常用模式 命令模式 我们第一…

CentOS7 编译安装最新的Linux Kernel 6.0 rc3

哪个男孩不想手动编译一份自己的内核呢?安装编译环境 CentOS7安装必要的包 yum groupinstall "Development Tools" -y && yum install openssl-devel -y && yum install rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-…

Java核心技术卷Ⅰ-第四章对象和类

重点 1.使用预定义类 2.方法参数 3.对象构造 4.包 5.类设计技巧 1.使用预定义类 一个源文件只能有一个公共类,可以有任意数目的非公共类可以使用通配符调用Java编译器:javac Test*.java使用var声明局部变量就不用担心0、0L和0.0之间的区别,因…