[JAVASE] 异常 与 SE阶段知识点补充

目录

一. 异常

        1.1 什么是异常?

        1.2 异常的本质

        1.3 异常的分类 

        1.4 如何处理异常?

        1.5 自定义异常

        1.6 受查异常 与 非受查异常 与 Error(重要) 

二. Object类

三. 内部类 

        2.1 什么是内部类?

        2.2 内部类的分类

        2.3 常用内部类的使用 

四. 总结


 

一. 异常

        1.1 什么是异常?

 异常就是程序出现了不正常的情况.

        1.2 异常的本质

异常本质上就是一个类.

 

        1.3 异常的分类 

 

Throwable: 所有异常 和 错误的父类. (顶格父类)

Error: 严重问题, 如栈溢出.

Exception: 异常. (运行时异常和编译时异常的父类)

RuntimeException: 运行时异常 (非受查异常).

非RuntimeException: 编译时异常 (受查异常)

        1.4 如何处理异常?

 处理异常5个必备关键字:

try: 代码块中写可能抛出异常的代码.

catch: 捕获特定的异常.

throw: 抛出异常.

throws: 声明异常, 表示当前方法没有处理异常, 提醒这个方法的调用者去处理异常.

finally: finally 代码块中的内容一定会被执行.

以下是代码的实例, 使用了上面的 5 个关键字:

 

        1.5 自定义异常

 在我们写代码的时候, 可能会出现各种各样的异常, 而java本身提供的异常又不能够满足我们的需求, 这时, 我们就需要自己来定义异常(异常的本质是一个类).

以下是几个代码实例练习: 

定义一个运行时异常 (非受查异常):

继承于RuntimeException的类默认是非受查异常

 

定义一个编译时异常 (受查异常):

继承于Exception的类默认是受查异常.

 

        1.6 受查异常 与 非受查异常 与 Error(重要) 

 受查异常:

1. 要么被 try catch 包围, 要么当前方法声明 异常, 来提醒此方法的调用者去处理异常, 否则报错.

2. 受查异常是编译时异常.

非受查异常:

1. 非受查异常对于 try catch, throws 不做要求.

2.  非受查异常是运行时异常.

Error:

1. Error是 严重错误, 用户不需要处理, jvm会处理. 


二. Object类

Object类是所有类的父类. 

 Object类中的方法:


三. 内部类 

        2.1 什么是内部类?

内部类就是定义在某一个类中的类.

        2.2 内部类的分类

内部类:

1. 实例内部类.

2. 静态内部类

3. 匿名内部类

4. 局部内部类

        2.3 常用内部类的使用 

 实例内部类, 就相当于是一个成员变量.

静态内部类, 相当于是静态成员变量.

 

匿名内部类.

1. 类

new Person(), 相当于是 Person的子类对象, 在这个子类对象中 重写了, func方法.

2. 接口

new IOperation(): 相当于 IOperation 的实现类(implements), 必须重写抽象类中的抽象方法.

局部内部类(使用较少).

 

 


四. 总结

1. 异常就是一个类.

2. 处理异常的 5 个必备关键字, try  catch  throw throws  finally.

3. 自定义异常.

4. 区分 受查异常(编译时异常) 与 非受查异常(运行时异常).

5. Object类是所有类的父类.

6. 匿名内部类的使用.    (new 接口/类(){ // ...}   相当于是类的子类对象, 或者实现了接口).

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

容声冰箱启动“以旧换新”活动,将掀起绿色消费新热潮

日前,容声冰箱正式启动了新一轮家电“以旧换新”活动,宣布从6月1日至8月31日,凡是通过容声自有渠道参与活动的用户,最高可获换新补贴1000元,并还有多重好礼相送。 此举旨在打造低碳、绿色、智能、时尚的家电消费新生态…

做项目管理,有哪些证书值得考?

考证可以提升技能水平,增强职场竞争力。 01PMP认证 PMP是受全球认可的项目管理专业人士资格认证,在国际上具有权威性,被媒体公认为继MBA、MPA之后的三大就业金字招牌。 在国内认可度也很高,中石油、中国石化、中兴通讯等大型企…

webf 框架源码、开发工具、数据库脚本、用户手册(233页)下载

用户手册将介绍 webf 的技术体系以及使用方法,便于用户快速配置出一致的开发环境,并能够将webf配置运行使用。 资料列表(仅供学习参考) webf源码持久层生成工具数据库脚本用户手册 说明:下载地址见文章尾部。 资源…

一图看懂 | 蓝卓热电行业解决方案

能源是人类社会发展过程中的永恒话题,热电联产作为电能和热能同时生产的能源利用形式,相较传统的火力发电具有能源利用效率高等优点,可以高效解决能源及环境问题。目前,世界各国都将热电联产作为更高效、更环保的能源供给体系而有效措施大力推广。 如何降本增效、减…

NeuralForecast 多变量的处理 包括训练和推理

NeuralForecast 多变量的处理 包括训练和推理 flyfish 两个excel表格合并后的结果 unique_id ds y ex_1 ex_2 ex_3 ex_4 0 HUFL 2016-07-01 00:00:00 -0.041413 -0.500000 0.166667 -0.500000 -0.001370 1 …

“滴滴打车,用友入账”,YonSuite商旅费控助力企业“降低成本”更进一步

在当今竞争激烈的商业环境中,企业对于成本控制和效率提升的需求日益迫切。特别是在商旅管理方面,如何有效整合资源、优化流程、降低费用,成为了成长型企业关注的焦点。用友YonSuite商旅费控作为用友集团旗下的重要产品,凭借其卓越…

SolidWorks功能强大的三维设计软件下载安装,SolidWorks最新资源获取!

SolidWorks,它凭借出色的三维建模能力,使得设计师们能够轻松构建出复杂且精细的机械模型,大大提升了设计效率和质量。 在机械设计领域,SolidWorks凭借其丰富的工具和特性,让设计师们能够随心所欲地挥洒创意。无论是零…

Linuxftp服务002本地登入

本期主要讲述的是ftp服务中的本地用户登入。 操作系统 CentOS Stream 9 操作步骤 首先我们先建立一个ftp组的用户,并设置密码。 [rootlocalhost ~]# useradd -g ftp wq [rootlocalhost ~]# echo 1 |passwd --stdin wq 更改用户 wq 的密码 。 passwd&#xff1a…

SpringBoot中的WebMvcConfigurationSupport和WebMvcConfigurer

在SpringBoot中可以通过以下两种方式来完成自定义WebMvc的配置: (1)继承WebMvcConfigurationSupport类 (2)实现WebMvcConfigurer接口 通过这两种方式完成的WebMvc配置存在差异,本文将对此作简单说明与区…

Selenium with Python Behave(BDD)

一、简介 Python语言的行为驱动开发,Behavior-driven development,简称BDD. "Behavior-driven development (or BDD) is an agile software development technique that encourages collaboration between developers, QA and non-technical or bu…

顶顶通呼叫中心中间件-区号号码自动加0(mod_cti基于FreeS WITCH)

顶顶通呼叫中心中间件-区号号码自动加0(mod_cti基于FreeSWITCH) 本地区号。如果配置了本地区号,被叫手机号码归属地和本地区号不同会自动加0 一、导入号码归属地 1、下载ccadmin安装包并且把手机号码归宿地解压出来 1、下载ccadmin安装包 Windows版本下载地址&…

小短片创作-理论知识(五)

1、网格体绘制 1.UE5打开Megascan插件的材质混合器,创建混合材质,最多选择3个材质进行混合, 2.通过模式->网格体绘制,进入网格体绘制模式,通过select选择一个平面进行绘制,然后通过paint进行绘制&am…

opencv笔记(13)—— 停车场车位识别

一、所需数据介绍 car1.h5 是训练后保存的模型 class_directionary 是0,1的分类 二、图像数据预处理 对输入图片进行过滤: def select_rgb_white_yellow(self,image): #过滤掉背景lower np.uint8([120, 120, 120])upper np.uint8([255, 255, 255])#…

09、进程和计划任务管理

9.1 查看和控制进程 程序是保存在外部存储介质(如硬盘)中的可执行机器代码和数据的静态集合,而进程是在 CPU 及内存中处于动态执行状态的计算机程序。在 Linux操作系统中,每个程序启动后可以创建一个或多个进程。例如,提供 Web 服务的 httpd …

计算机网络学习记录 网络层 Day4(下)

计算机网络学习记录 网络层 Day4 (下) 你好,我是Qiuner. 为记录自己编程学习过程和帮助别人少走弯路而写博客 这是我的 github https://github.com/Qiuner ⭐️ ​ gitee https://gitee.com/Qiuner 🌹 如果本篇文章帮到了你 不妨点个赞吧~ 我…

期权懂题库免费!期权开户测试难吗?多少分算合格通过?

今天带你了解期权懂题库免费!期权开户测试难吗?多少分算合格通过?期权开户测试通常要求投资者达到一定的合格分数,以确保他们具备足够的理解和知识来参与期权交易。 期权开户测试难吗? 期权开户测试的难度因人而异&am…

PW1558A规格探秘:为何它是电源系统不可或缺的6A双向保护芯片?

描述 PW1558A 是一款先进的 28V 6A 额定双向负载开关, 提供过载、 短路、 输入电压浪涌、 过大冲击电流和过热保护, 为系统供电。 内置的 24mΩ超低 RDS(ON)电源开关有助于减少正常操作期间的功率损耗。 该设备具有两个输入/输出端口 VBUS1 和 VBUS2&…

LSDFi协议赛道4大稳定币项目,以bitget钱包为例

纵览 LSDfi 生态繁荣的基石,LSD 稳定币赛道全解析 近期有许多建立在流动性质押通证的稳定币借贷协议开始出现在大众眼里,今天文章就要带大家来一一了解这些 LSDfi 协议究竟是如何争夺这块诱人的大饼。 LybraFinanceLSD 它透过抵押stETH/ETH 铸造&#…

二叉树系列题

OJ104:二叉树的最大深度 1.题目 2.注意 这里要用left和right接收递归的结果,如果不接收,直接用递归来比较,会出现效率问题。 3.参考代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* str…

【深入理解计算机系统第3版】补码加法

感觉这部分有点难,所以稍微整理记一下。 抱歉中英混合,来回切换输入法真的很折磨人。 负溢出 正常 正溢出 以4位补码加法为例,理解下表(书中P64) 补码最大值Tmax 2^3 - 1 7, 补码最小值Tmin -2^3 -8 xyz x yz z mod 2^4zU2Tw(z)溢…