当前位置: 首页 > news >正文

Java后端开发day40--异常File

请添加图片描述
(以下内容全部来自上述课程)
在这里插入图片描述
在这里插入图片描述

异常

异常:异常就是代表程序出现的问题

1. 异常的分类

请添加图片描述

1.1 Error

代表的是系统级别的错误(属于严重问题)
系统一旦出现问题,sun公司会把这些错误封装成Error对象。
Error对象是给sun公司自己用的,不是给我们程序员用的。
因此我们开发人员不用管它。

1.2 Exception

叫做异常,代表程序可能出现的问题。
我们通常把Exception以及它的子类来封装程序出现的问题。
请添加图片描述

1.2.1 RuntimeException以及子类

运行时异常:编译阶段不会出现异常提醒。运行时出现的异常。(如:数组索引越界异常)

1.2.2 其他异常

编译时异常:编译阶段就会出现异常提醒的。(如:日期解析异常)
在编译阶段,必须手动处理,否则代码报错。

2.异常的作用

  1. 异常是用来查询bug的关键参考信息
  2. 异常可以作为方法内部的一种特殊返回值,以便通知调用者底层的执行情况

2.1 查询bug

请添加图片描述

2.2 特殊返回值

请添加图片描述
具体演示:
请添加图片描述
请添加图片描述
请添加图片描述

3. 异常的处理方式

3.1 JVM默认的处理方式

  1. 把异常的名称,异常的原因及异常出现的位置等信息输出在控制台
  2. 程序停止执行,异常下面的代码不会再执行了
    请添加图片描述

3.2 自己处理(捕获异常)

try{
可能出现异常的代码
} catch(异常类名 变量名){
异常的处理代码;
}

目标:当代码出现异常时,可以让程序继续往下执行。
请添加图片描述

3.2.1 细节

请添加图片描述
请添加图片描述

3.2.2 异常中的常见处理方法

快捷键:ctrl+alt+t
请添加图片描述
最常用:printStackTrace():仅仅是打印信息,不会停止程序运行

3.3 抛出处理(调用者处理)

3.3.1 throws

写在方法定义处,表示声明一个异常。
告诉调用者,使用本方法可能会有哪些异常。
请添加图片描述

3.3.2 throw

写在方法内,结束方法
手动抛出异常对象,交给调用者(可以try catch进行捕获)
方法中下面的代码不再执行了
请添加图片描述

4. 自定义异常

  1. 定义异常类
  2. 写继承关系
  3. 空参构造
  4. 带参构造

意义:就是为了让控制台的报错信息更加的见名知意
请添加图片描述

File

  • File对象就表示一个路径,可以是文件的路径,也可以是文件夹的路径
  • 这个路径可以是存在的,也允许是不存在的

1. 构造方法

请添加图片描述
请添加图片描述

2. 成员方法

2.1 判断、获取

请添加图片描述
请添加图片描述

2.2 创建、删除

请添加图片描述
请添加图片描述
mkdirs:既可以创建单级的,又可以创建多级的文件夹
delete:

  • 如果删除的是文件,则直接删,不走回收站
  • 如果删除的是空文件夹,则直接删,不走回收站
  • 如果删除的是有内容的文件夹,则删除失败

2.3 获取、遍历

请添加图片描述

2.4 获取并遍历(仅蓝色需掌握)

请添加图片描述

相关文章:

Java后端开发day40--异常File

(以下内容全部来自上述课程) 异常 异常:异常就是代表程序出现的问题 1. 异常的分类 1.1 Error 代表的是系统级别的错误(属于严重问题) 系统一旦出现问题,sun公司会把这些错误封装成Error对象。 Error…...

集成算法学习

集成算法通过组合多个弱学习器提升模型性能,以下是核心内容详解: 一、核心思想 - 组合优势:结合多个简单模型(如决策树),通过“少数服从多数”或“加权平均”等策略,降低方差、偏差或过拟合风险…...

工业认知智能:从数据分析到知识创造

工业认知智能:从数据分析到知识创造 引言 当前制造业面临的知识管理困境令人震惊:68%的工艺知识存储于老员工头脑中,30%的企业因知识传承断层导致质量事故。麦肯锡研究显示,应用认知智能技术的企业,其工艺创新速度提升3-5倍。本文将系统阐述工业认知智能的"感知-理…...

8.1 Python+Docker+企业微信集成实战:自动化报告生成与CI/CD部署全攻略

Python+Docker+企业微信集成实战:自动化报告生成与CI/CD部署全攻略 关键词:PDF报告生成, Word文档自动化, 企业微信集成, Docker容器化, CI/CD流水线 1. 多格式报告生成实战 通过扩展报告输出格式,满足不同用户的文档需求。我们使用Python生态的成熟库实现PDF/Word生成,并…...

25.5.4数据结构|哈夫曼树 学习笔记

知识点前言 一、搞清楚概念 ●权:___________ ●带权路径长度:__________ WPL所有的叶子结点的权值*路径长度之和 ●前缀编码:____________ 二、构造哈夫曼树 n个带权值的结点,构造哈夫曼树算法: 1、转化成n棵树组成的…...

统计学中的p值是什么?怎么使用?

李升伟 整理 在统计学中,p值(p-value)是帮助研究者判断假设检验结果是否具有统计显著性的重要指标。以下是关于p值的详细解释和使用方法: 1. p值的定义 p值表示在原假设(H0)为真的情况下,观察…...

22:一维码与二维码区别

一维码(条形码) 一维条码即指条码条和空的排列规则,常用的一维码的码制包括:EAN码、39码、交叉25码、UPC码、128码、93码,ISBN码,及Codabar(库德巴码)等。 条码是由一组规则排列的条…...

Java学习手册:SQL 优化技巧

一、SQL 查询优化 选择合适的索引列 :索引可以显著提高查询速度,但需要选择合适的列来创建索引。通常,对于频繁作为查询条件的列、连接操作的列以及排序或分组操作的列,应该考虑创建索引。例如,在一个订单表中&#xf…...

《Vue3学习手记8》

vue3中的一些API shallowRef ( ) 和shallowReactive ( ) shallowRef (浅层响应式) 1.作用:创建一个响应式数据,但只对顶层属性进行响应式处理。 2.用法: const originalref(...) const original2shallowRef(original) 3.特点:只跟踪引用值的变化,不关心…...

平衡二叉搜索树模拟实现1-------AVL树(插入,删除,查找)

本章目标 1.AVL树的概念 2.AVL树的模拟实现 1.AVL树的概念 1.AVL树是最先被发明的平衡二叉搜索树,AVL树是一颗空树或者具有以下的性质 它的左右子树都是AVL树,并且左右高度差不超过1,AVL树是一颗高度平衡二叉搜索树,通过高度差去控制平衡 2.为什么高度差是1? 当结点个数为8…...

运算放大器的主要技术指标

运放(运算放大器)是一种基础电子器件,具有输入阻抗高、开环放大倍数大、输入端电流小、同相端与反相端电压几乎相等等特点。在选型时,需要考虑技术指标如输入失调电压、输入失调电压漂移、输入失调电流、共模抑制比、压摆率、建立…...

51单片机入门教程——每个音符对应的重装载值

前言 本教程基于B站江协科技课程进行个人学习整理,专为拥有C语言基础的零基础入门51单片机新手设计。既帮助解决因时间差导致的设备迭代调试难题,也助力新手快速掌握51单片机核心知识,实现从C语言理论到单片机实践应用的高效过渡 。...

新一代智能座舱娱乐系统软件架构设计文档

一 文档概述 本文档描述了基于Android系统与多模态大模型融合的新一代智能座舱娱乐系统的软件架构设计。该系统将通过深度学习的个性化适配、多模态感知融合和持续自进化能力,重新定义人车交互体验。 二 整体架构设计 2.1 分层架构视图 系统采用五层垂直架构与三…...

深度优先搜索(DFS)与广度优先搜索(BFS):图与树遍历的两大利器

深度优先搜索(DFS)与广度优先搜索(BFS):图与树遍历的两大利器 在数据结构与算法的世界中,深度优先搜索(DFS)和广度优先搜索(BFS)是两种非常经典的遍历算法。…...

比较 TensorFlow 和 PyTorch

TensorFlow和PyTorch是深度学习领域中两个非常流行的开源机器学习框架,下面为你详细介绍。 1. 历史与背景 TensorFlow:由Google开发和维护,于2015年开源。因其强大的生产能力和广泛的工具支持,在工业界得到了广泛应用。PyTorch&…...

jeecg查询指定时间

jeecg查询指定时间 ApiOperation(value"请假表-分页列表查询", notes"请假表-分页列表查询")GetMapping(value "/list")public Result<IPage<MlLeaveRequest>> queryPageList(MlLeaveRequest mlLeaveRequest,RequestParam(name&qu…...

无人机视觉:连接像素与现实世界 —— 像素与GPS坐标双向转换指南

在无人机航拍应用中&#xff0c;一个核心的需求是将图像上的某个点与现实世界中的地理位置精确对应起来。无论是目标跟踪、地图测绘还是农情监测&#xff0c;理解图像像素与其对应的经纬度&#xff08;GPS坐标&#xff09;之间的关系至关重要。本文将详细介绍如何实现单个像素坐…...

php study 网站出现404 - Page Not Found 未找到

最近在用php study搭建本地网站时&#xff0c;出现了404 - Page Not Found 未找到的情况&#xff0c;解决方式如下&#xff1a; 第一种&#xff1a;在wp 后台固定链接设置中修改链接形式 第二种:没有安装伪静态! 小皮面板中 设置--配置文件--编辑你所搭建的网站 在红色框框处…...

互联网大厂Java求职面试:核心技术点深度解析

互联网大厂Java求职面试&#xff1a;核心技术点深度解析 在互联网大厂的Java岗位面试中&#xff0c;技术总监级别的面试官通常会从实际业务场景出发&#xff0c;层层深入地考察候选人的技术能力。本文通过一个严肃专业的技术总监与搞笑但有技术潜力的程序员郑薪苦之间的互动对…...

【Java idea配置】

IntelliJ IDEA创建类时自动生成注释 /** * program: ${PROJECT_NAME} * * since: jdk1.8 * * description: ${description} * * author: ${USER} * * create: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE} **/自动导入和自动移除无用导入 idea彩色日志不生效 调试日志输出 在…...

[GESP202503 四级] 二阶矩阵c++

题目描述 小 A 有一个 n 行 m 列的矩阵 A。 小 A 认为一个 22 的矩阵 D 是好的&#xff0c;当且仅当 。其中 表示矩阵 D 的第 i 行第 j 列的元素。 小 A 想知道 A 中有多少个好的子矩阵。 输入 第一行&#xff0c;两个正整数 n,m。 接下来 n 行&#xff0c;每行 m 个整数…...

PyQt5基本介绍

PyQt5是基于Digia公司强大图形框架Qt5的python接口&#xff0c;由一组python模块构成。是一个用于创建桌面应用程序的Python库&#xff0c;它是Qt图形用户界面工具包的Python绑定。 Qt是一个跨平台的C库&#xff0c;提供了一套丰富的工具和功能&#xff0c;用于开发图形用户界…...

Spring AI 实战:第十章、Spring AI RAG之博学多才

引言:从“博闻强记”到“博学多才” 在人工智能的发展历程中,大语言模型(LLM)已经展现了惊人的“博闻强记”能力——它们能写诗、编码、解答常识问题,甚至模拟人类对话。然而,当面对专业领域知识或实时更新的信息时,这些模型往往会暴露其局限性:要么“一本正经地胡说八…...

Runnable 组件生命周期监听器与使用场景

Runnable 生命周期监听器 1.1 监听机制演进 在 LangChain 框架中&#xff0c;Runnable 组件提供两种监控方案&#xff1a; ​​传统模式​​&#xff1a;通过 config callbacks 参数传递回调配置​​增强模式​​&#xff1a;使用 with_listeners() 方法实现生命周期订阅 …...

五、shell脚本--函数与脚本结构:搭积木,让脚本更有条理

随着我们的脚本越来越长、越来越复杂&#xff0c;直接把所有命令堆在一起会变得难以阅读和维护。这时候&#xff0c;函数 (Function) 就派上大用场了&#xff01; 函数就像一个可以重复使用的代码块&#xff0c;你可以给它起个名字&#xff0c;然后在脚本的任何地方通过名字来…...

单调栈与单调队列(c艹)、可视化Qt?

单调栈和单调队列的区别在于 ChatGLM 单调栈和单调队列都是数据结构中用于处理序列问题的工具&#xff0c;它们在处理问题时具有不同的特性和应用场景。以下是单调栈和单调队列的主要区别&#xff1a; 定义&#xff1a; 单调栈&#xff1a;是一种特殊的栈&#xff0c;其中的元…...

哈夫曼树和哈夫曼编码

哈夫曼编码一般用来对字符串进行编码格式的表示。其中要克服的最大问题&#xff0c;莫过于就是一串由0或者1组成的编码&#xff0c;你无法区分哪些01组成的编码部分是属于哪些字符的&#xff0c;因此哈夫曼编码的出现解决了这个问题。 在介绍哈夫曼编码之前&#xff0c;先介绍…...

基于 AI 的人像修复与编辑技术:CompleteMe 系统的研究与应用

概述 加利福尼亚大学默塞德分校与 Adobe 的新合作在人像补全领域取得了突破性进展——人像补全是一项备受关注的任务&#xff0c;旨在“揭示”人像中被遮挡或隐藏的部分&#xff0c;可用于虚拟试穿、动画制作和照片编辑等场景。 除了修复损坏的图像或根据用户意愿更改图像外&a…...

spring 使用FactoryBean注入bean

spring 使用FactoryBean注入bean 1、介绍 ​ 通常是ApplicationContext&#xff0c;就是IOC容器&#xff0c;ApplicationContext是BeanFactory的实现类&#xff0c;是spring最核心的接口。用getBean来加载bean。BeanFactory相当于是IOC的基础类。而FactoryBean是另一个东西&a…...

AI 编程日报 · 2025 年 5 月 04 日|GitHub Copilot Agent 模式发布,Ultralytics 优化训练效率

1、OpenAI 确认 GPT-4o“谄媚”个性更新已完全回滚 OpenAI 官方已确认&#xff0c;先前推送的一项旨在改进 GPT-4o 模型个性的更新已被完全撤销。该更新最初目标是提升模型的智能与个性&#xff0c;使其交互更直观有效&#xff0c;但实际效果却导致模型表现出过度“谄媚”和“…...

C++ STL简介:构建高效程序的基石

0. 引言 在现代软件开发领域&#xff0c;C语言凭借其强大的性能和灵活性占据着重要地位。而C标准模板库&#xff08;Standard Template Library&#xff0c;简称STL&#xff09;作为C标准库的核心组件&#xff0c;更是开发者手中不可或缺的利器。它犹如一座知识宝库&#xff0…...

大模型(LLMs)RAG 版面分析——文本分块面

大模型&#xff08;LLMs&#xff09;RAG 版面分析——文本分块面 一、为什么需要对文本分块&#xff1f; 二、能不能介绍一下常见的文本分块方法&#xff1f; 2.1 一般的文本分块方法 2.2 正则拆分的文本分块方法 2.3 Spacy Text Splitter 方法 2.4 基于 langchain 的 Cha…...

系统思考:核心价值与竞争力

最近&#xff0c;设计师的小伙伴跟我提到&#xff0c;行业内竞争越来越激烈&#xff0c;大家都开始拼命降价。但从系统思考的角度来看&#xff0c;我想说一句话&#xff1a;“人多的地方&#xff0c;不要去。” 为什么这么说&#xff1f;在竞争愈发激烈的环境中&#xff0c;我…...

【RocketMQ Broker 相关源码】- broker 启动源码(2)

文章目录 1. 前言2. 创建 DefaultMessageStore3. DefaultMessageStore#load3.1 CommitLog#load3.2 loadConsumeQueue 加载 ConsumeQueue 文件3.3 创建 StoreCheckpoint3.4 indexService.load 加载 IndexFile 文件3.5 recover 文件恢复3.6 延时消息服务加载 4. registerProcesso…...

mysql中int(1) 和 int(10) 有什么区别?

困惑 最近遇到个问题&#xff0c;有个表的要加个user_id字段&#xff0c;user_id字段可能很大&#xff0c;于是我提mysql工单​​alter table xxx ADD user_id int(1)​​。领导看到我的sql工单&#xff0c;于是说&#xff1a;这int(1)怕是不够用吧&#xff0c;接下来是一通解…...

jetson orin nano super AI模型部署之路(八)tensorrt C++ api介绍

我们基于tensorrt-cpp-api这个仓库介绍。这个仓库的代码是一个非常不错的tensorrt的cpp api实现&#xff0c;可基于此开发自己的项目。 我们从src/main.cpp开始按顺序说明。 一、首先是声明我们创建tensorrt model的参数。 // Specify our GPU inference configuration optio…...

渗透测试中扫描成熟CMS目录的意义与技术实践

在渗透测试领域&#xff0c;面对一个成熟且“看似安全”的CMS&#xff08;如WordPress、Drupal&#xff09;&#xff0c;许多初级测试者常陷入误区&#xff1a;认为核心代码经过严格审计的CMS无需深入排查。然而&#xff0c;目录扫描&#xff08;Directory Bruteforcing&#x…...

数字信号处理学习笔记--Chapter 1 离散时间信号与系统

1 离散时间信号与系统 包含以下内容&#xff1a; &#xff08;1&#xff09;离散时间信号--序列 &#xff08;2&#xff09;离散时间系统 &#xff08;3&#xff09;常系数线性差分方程 &#xff08;4&#xff09;连续时间信号的抽样 2 离散时间信号--序列 为了便于计算机对信号…...

LeetCode 热题 100 994. 腐烂的橘子

LeetCode 热题 100 | 994. 腐烂的橘子 大家好&#xff0c;今天我们来解决一道经典的算法题——腐烂的橘子。这道题在LeetCode上被标记为中等难度&#xff0c;要求我们计算网格中所有新鲜橘子腐烂所需的最小分钟数&#xff0c;或者返回不可能的情况。下面我将详细讲解解题思路&…...

软考-软件设计师中级备考 11、计算机网络

1、计算机网络的分类 按分布范围分类 局域网&#xff08;LAN&#xff09;&#xff1a;覆盖范围通常在几百米到几千米以内&#xff0c;一般用于连接一个建筑物内或一个园区内的计算机设备&#xff0c;如学校的校园网、企业的办公楼网络等。其特点是传输速率高、延迟低、误码率低…...

NHANES指标推荐:LC9

文章题目&#xff1a;Association between lifes crucial 9 and kidney stones: a population-based study DOI&#xff1a;10.3389/fmed.2025.1558628 中文标题&#xff1a;生命的关键 9 与肾结石之间的关联&#xff1a;一项基于人群的研究 发表杂志&#xff1a;Front Med 影响…...

使用 Azure DevSecOps 和 AIOps 构建可扩展且安全的多区域金融科技 SaaS 平台

引言 金融科技行业有一个显著特点&#xff1a;客户期望能够随时随地即时访问其财务数据&#xff0c;并且对宕机零容忍。即使是短暂的中断也会损害用户的信心和忠诚度。与此同时&#xff0c;对数据泄露的担忧已将安全提升到整个行业的首要地位。 在本文中&#xff0c;我们将探…...

原子单位制换算表

速度 0.12.1880.24.3760.36.5640.48.7520.510.940.613.1280.715.3160.817.5040.919.692121.881.532.82243.762.554.7...

【C++重载操作符与转换】下标操作符

目录 一、下标操作符重载基础 1.1 什么是下标操作符重载 1.2 默认行为与需求 1.3 基本语法 二、下标操作符的核心实现策略 2.1 基础实现&#xff1a;一维数组模拟 2.2 多维数组实现&#xff1a;矩阵类示例 三、下标操作符的高级用法 3.1 自定义索引类型&#xff1a;字…...

文章记单词 | 第62篇(六级)

一&#xff0c;单词释义 noon [nuːn] n. 中午&#xff0c;正午clothes [kləʊz] n. 衣服&#xff0c;衣物reward [rɪˈwɔːd] n. 报酬&#xff0c;奖赏&#xff1b;vt. 奖励&#xff0c;奖赏newly [ˈnjuːli] adv. 最近&#xff0c;新近&#xff1b;以新的方式premier [ˈ…...

《CUDA:解构GPU计算的暴力美学与工程哲学》

《CUDA:解构GPU计算的暴力美学与工程哲学》 ​ CUDA 的诞生,宛如在 GPU 发展史上划下了一道分水岭。它不仅赋予了 GPU 走出图形处理的 “舒适区”,投身通用计算的 “新战场” 的能力,更是一场对计算资源分配与利用逻辑的彻底重构。在这场技术革命中,CUDA 以它犀利的架构设…...

Linux ACPI - ACPI系统描述表架构(2)

ACPI系统描述表架构 1.概要 ACPI defines a hardware register interface that an ACPI-compatible OS uses to control core power management features of a machine, as described in ACPI Hardware Specification ACPI also provides an abstract interface for controlli…...

实时在线状态

以下是一个完整的 OnlineUsers 类实现&#xff0c;包含线程安全的在线用户管理功能&#xff1a; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors;/*** 在线用户管理器&#xff08;线程安全&#xff09;* 功能&#…...

《算法导论(第4版)》阅读笔记:p6-p6

《算法导论(第4版)》学习第 4 天&#xff0c;p6-p6 总结&#xff0c;总计 1 页。 一、技术总结 无。 二、英语总结(生词&#xff1a;1) 1. disposal (1)dispose: dis-(“aprt”) ponere(“to put, place”) vt. dispose literally means “to put apart(to separate sth…...

录播课制作技术指南

1.技术版本选择策略 优先采用长期支持版本作为课程开发基础&#xff0c;此类版本在企业级应用中普及度高且稳定性强。技术选型直接影响课程生命周期&#xff0c;稳定的底层框架可降低后续维护成本&#xff0c;避免因技术迭代导致教学内容快速过时。建议定期查看技术社区官方公告…...