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

Java 07异常

异常

指的是程序在编译和执行的过程中,出现的非正常的情况;
当然语法错误并不属于错误

异常体系

最大的Throwable;
分为两个:Error Exception

Error

严重级别问题
常见的
堆内存溢出
栈内存溢出

Exception

分为两个子类
RuntimeException 
运行时异常
除了RuntimeException外的子类 
编译时异常

在这里插入图片描述

例如,我现在这里将日期进行实例化,但是date进行实例化的时候及其有可能出错,所以需要将其抛出
所以需要提前将异常进行处理

在这里插入图片描述

异常的默认处理流程

向上抛出
package com.ithemia;public class yichang {public static void main(String[] args) {System.out.println("开始");methon();System.out.println("结束");}private static void methon() {System.out.println(10/0);}}
强制终止!!!!
现在,我调用了一个methon的方法,出现了除以0的问题,这个时候就会创建一个aRITHMETIC类似的*异常对象*,向上一级抛出,上一级为main,main继续上上一级抛出,也就是jvm即java虚拟机,java虚拟机将异常展示在你的面前

在这里插入图片描述

try…catch

好处:异常对象可以被捕获,后续的代码可以继续执行
格式:
try{可能出现异常的代码
}
catch(异常名称 对象名){}
执行流程:
1.执行try中的代码,看是否有异常对象产生
2.没有:catch就不会捕获,后续代码继续执行
3.有:catch捕获异常对象,执行catch{}中的处理方案,方便后续代码执行

在这里插入图片描述

多个异常,就可以写多个catch,最先执行的异常会被执行
也可以之间抓一个大的catch(Exception e)
实际上就是多态 Exception e=new ArithmeticException();
但是不推荐,因为太过于笼统了如果要捕获多个异常,最大的异常一定要放到最后ctrl+alt+t选中这一行,被包裹

throws

抛出异常
Date date=sdf.parse("fs00");
让方法throws ParseException();
但仅仅是声明异常,会将错误抛给上一级,但实际上并没有进行处理!!!

选择

需要将问题暴露出来,用throws
不需要用try catch

在这里插入图片描述

也可以写e.getMessage();
获得异常对象的你自己创建的那个问题的注释
运行时异常在子类中是不用进行抛出的

throw

用来抛出对象的

自定义异常

自定义编译时异常,继承Exception
运行时异常,继承RuntimeException
实际上就是创建一个类,去继承我需要的那个类,在编译或者运行的时候,实际上抛出的就是我自己写的那个类,那么就可以实现我自己写的异常去进行抛出

异常的细节

String getMessage();返回你写的错误的问题
如果是自定义的,返回的实际上也就是你的自己写的构造函数的错误的答案pribtStackTrace();
展示遗产的全部的异常的信息,第几行,什么类型的错误等

继承关系中的异常的处理

子类重写父类的方法的时候,不可以抛出父类没有的异常,或者比父类更大的异常,
你爹都没有,你为什么能有?=================================err

相关文章:

Java 07异常

异常 指的是程序在编译和执行的过程中,出现的非正常的情况; 当然语法错误并不属于错误异常体系 最大的Throwable; 分为两个:Error ExceptionError 严重级别问题 常见的 堆内存溢出 栈内存溢出Exception 分为两个子类 RuntimeException 运…...

2025年PMP 学习二十三 16章 高级项目管理

2025年PMP 学习二十三 16章 高级项目管理 文章目录 2025年PMP 学习二十三 16章 高级项目管理高级项目管理战略管理战略管理的组成要素:企业战略转化为战略行动的阶段: 组织战略类型战略组织类型组织级项目管理OPM(公司项目管理) 组…...

【Java高阶面经:微服务篇】1.微服务架构核心:服务注册与发现之AP vs CP选型全攻略

一、CAP理论在服务注册与发现中的落地实践 1.1 CAP三要素的技术权衡 要素AP模型实现CP模型实现一致性最终一致性(Eureka通过异步复制实现)强一致性(ZooKeeper通过ZAB协议保证)可用性服务节点可独立响应(支持分区存活)分区期间无法保证写操作(需多数节点可用)分区容错性…...

ISCC 2025决赛 wp

PWN Dilemma 64位程序没有开启PIE,并且过滤了execve,不能使用system这些的了,所以要考虑ORW来做 进入main函数分析,这里有两个函数一个func_1一个func_2。 这两个函数都有漏洞,以下是详细分析: 对于func…...

C++(5)switch语句 循环while

这是一个电影评分的程序 default 就是 如果上述的都没有执行 就统一的执行default的内容。 然后记得break ___________________________________ 循环 (while) while的使用方式 输出 0-9的while循环...

操作系统----软考中级软件工程师(自用学习笔记)

目录 1、计算机系统层次结构 2、程序顺序执行的特征 3、程序并发执行的特征 4、三态模型 5、同步与互斥 6、信号量机制 7、PV操作 8、死锁 9、进程资源图 10、死锁避免 11、线程 12、程序局部性原理 13、分页存储管理 14、单缓冲器 15、双缓冲区 16、磁盘调度算…...

利用Spring Boot和Redis构建高性能缓存系统

利用Spring Boot和Redis构建高性能缓存系统 引言 在现代Web应用中,缓存是提升系统性能的关键技术之一。Redis作为一种高性能的内存数据库,广泛应用于缓存场景。本文将介绍如何利用Spring Boot和Redis构建一个高性能的缓存系统,涵盖Redis的基…...

每日一题:1、虚拟IPv4地址转换为32位整数(JS)

题目背景 我们需要处理一种特殊的虚拟IPv4地址,这种地址由4个小节组成,每节之间用#分隔。与标准IPv4地址不同,虚拟IPv4地址的第一节范围是1~128,后三节的范围是0~255。我们需要将这种虚拟IPv4地址转换为一个唯一的32位整数。如果…...

[Vue]组件介绍和父子组件间传值

组件介绍 Vue3的 .vue文件中的主要部分分别分为三个&#xff1a;<template>、<script>、<style> <template>&#xff1a; 结构&#xff0c;相当于原html中的<head><body><footer>部分。原本的index.html现在只做一个容器&#xff0…...

Vue3 中使用 provide/inject 实现跨层级组件传值失败的原因及解决方案

1、基础用法 父组件&#xff1a; <script setup> import { ref, provide } from vue; import ChildComponent from ./ChildComponent.vue; const parentData ref(初始数据); // 提供数据 provide(parentData, parentData); </script>子组件&#xff1a; <sc…...

Git Hooks 和 自动生成 Commit Message

前言&#xff1a; 企业编程必须始终依赖流程&#xff0c;而不是个人。个人能力很重要&#xff0c;应该鼓励&#xff0c;但不能指望它&#xff0c;否则软件质量将不一致&#xff0c;没有可持续性。一旦顶级程序员跳槽&#xff0c;公司就会陷入困境。企业应该努力改进工作流程&am…...

【小明剑魔视频Viggle AI模仿的核心算法组成】

Viggle AI 作为一款先进的生成式视频AI工具&#xff0c;其核心技术栈融合了多项前沿算法。以下是深度解析其核心算法架构及实现原理&#xff1a; 一、核心算法组成 1. 运动控制生成&#xff08;Motion Control Generation&#xff09; 算法框架&#xff1a;基于扩散模型&…...

Linux学习心得问题整理(二)

day05 Linux基础入门 Linux语法解析 如何理解ssh远程连接?如何使用ssh使用远程连接服务&#xff1f; ssh进也称远程服务终端&#xff0c;常见连接方式可以包括windows和Linux两种方式 首先咱们使用windows窗口进行连接&#xff0c;这里就采用xshell连接工具来给大家做演示吧…...

百度网盘加速补丁v7.14.1.6使用指南|PC不限速下载实操教程

软件介绍 本加速补丁可突破百度网盘限速限制&#xff0c;无需会员、无次数限制&#xff0c;实测下载速度可达带宽峰值。 三步极速配置教程 1. 环境准备 → 卸载电脑原有百度网盘客户端&#xff08;避免冲突&#xff09; → 关闭杀毒软件/安全卫士&#xff08;防止误删补丁&am…...

RocketMQ消息拉取模式详解

RocketMQ提供了两种消息拉取模式&#xff0c;Pull模式&#xff08;主动拉取&#xff09;和 Push模式&#xff08;长轮询&#xff09;。 一、消息拉取模式分类 1. Pull模式&#xff08;主动拉取&#xff09; 特点&#xff1a;消费者主动向Broker发送请求拉取消息实现类&#…...

C++23 容器从其他兼容范围的可构造性与可赋值性 (P1206R7)

文章目录 背景与动机提案内容与实现细节提案 P1206R7实现细节编译器支持 对开发者的影响提高灵活性简化代码向后兼容性 总结 C23标准引入了对容器构造和赋值的新特性&#xff0c;这些特性使得容器能够更灵活地从其他兼容范围初始化&#xff0c;并支持从范围赋值。这些改进由提案…...

深入解析 HTTP 中的 GET 请求与 POST 请求​

在互联网的世界里&#xff0c;数据的传输与交互无时无刻不在发生。HTTP&#xff08;超文本传输协议&#xff09;作为 Web 应用的基石&#xff0c;承载着浏览器与服务器之间的通信重任。而 GET 请求和 POST 请求&#xff0c;作为 HTTP 协议中最为常用的两种请求方法&#xff0c;…...

华三(H3C)IRF堆叠心跳的LACP MAD、BFD MAD和ARP MAD差异

华三&#xff08;H3C&#xff09;IRF堆叠心跳的三种MAD&#xff08;多主检测&#xff09;机制——LACP MAD、BFD MAD和ARP MAD在实现原理、组网要求及适用场景上存在显著差异。以下是三者的对比分析&#xff1a; 一、核心区别对比 特性LACP MADBFD MADARP MAD检测原理扩展LAC…...

thread 的mutex优化

std::mutex mtx; int shared_data 0;void increment() {std::lock_guard<std::mutex> lock(mtx); // 自动加锁shared_data; // 临界区 } // 离开作用域时自动解锁std::lock_guard 在离开作用域时自动解锁的行为是基于 C 的 RAII (Resource Acquisition Is Initializa…...

深入解析前端 JSBridge:现代混合开发的通信基石与架构艺术

引言&#xff1a;被低估的通信革命 在移动互联网爆发式增长的十年间&#xff0c;Hybrid App&#xff08;混合应用&#xff09;始终占据着不可替代的地位。作为连接 Web 与 Native 的神经中枢&#xff0c;JSBridge 的设计质量直接决定了应用的性能上限与开发效率。本文将突破传…...

打破次元壁,VR 气象站开启气象学习新姿势​

在教育领域&#xff0c;VR 气象站同样发挥着巨大的作用&#xff0c;为气象教学带来了全新的模式&#xff0c;打破了传统教学的次元壁&#xff0c;让学生们以全新的姿势学习气象知识。​ 在传统的气象教学中&#xff0c;学生们主要通过课本、图片和老师的讲解来学习气象知识。这…...

python八股文汇总(持续更新版)

python装饰器 一、装饰器是什么&#xff1f; 装饰器是Python中一种"化妆师"&#xff0c;它能在不修改原函数代码的前提下&#xff0c;给函数动态添加新功能。 本质&#xff1a;一个接收函数作为参数&#xff0c;并返回新函数的工具。作用&#xff1a;像给手机贴膜…...

C#入门系列【基础类型大冒险】从0到1,解锁编程世界的“元素周期表”

C#入门系列【基础类型大冒险】从0到1&#xff0c;解锁编程世界的“元素周期表” 嘿&#xff0c;欢迎来到C#的奇妙世界&#xff01;如果把编程比作建造一座大厦&#xff0c;那么基础类型就是我们手中的“砖块”和“水泥”。它们看似普通&#xff0c;却构成了所有复杂程序的基石…...

物流项目第四期(运费模板列表实现)

前三期&#xff1a; 物流项目第一期&#xff08;登录业务&#xff09;-CSDN博客 物流项目第二期&#xff08;用户端登录与双token三验证&#xff09;-CSDN博客 物流项目第三期&#xff08;统一网关、工厂模式运用&#xff09;-CSDN博客 模板列表 在后台系统中&#xff0c…...

数据中心Overlay解决方案

文档围绕数据中心 Overlay 解决方案展开,指出数据中心向大集中、虚拟化、云业务演进,传统架构存在网络规划复杂、弹性不足、业务扩展受限等问题。Overlay 网络在物理网络上构建虚拟网络,实现名址分离、网络与物理解耦,支持业务灵活部署。方案采用VXLAN 技术(如 SDN 控制模…...

中级网络工程师知识点8

1.无线控制器&#xff1a;实现无线网络统一管理&#xff0c;无缝漫游 2.无线认证系统&#xff1a;实现用户使用用户名和密码认证登录&#xff0c;外来访客通过扫描二维码或者手机短信验证登录无线网络 3.POE交换机&#xff1a;实现无线AP的接入和供电 4.高密吸顶式AP&#x…...

【Linux笔记】——简单实习一个日志项目

&#x1f525;个人主页&#x1f525;&#xff1a;孤寂大仙V &#x1f308;收录专栏&#x1f308;&#xff1a;Linux &#x1f339;往期回顾&#x1f339;&#xff1a; 【Linux笔记】——线程同步信号量与环形队列生产者消费者模型的实现(PV操作) &#x1f516;流水不争&#xf…...

BRIGHTONE : 520-On-Chain WOHOO Carnival

BRIGHTONE is launching the “520-On-Chain WooHoo Carnival,” and the very first blast of $WOOHOO goes live right on schedule—ushering in a new on-chain celebration of joy! ​At exactly 21:09 on May 20, the “520-On-Chain WooHoo Carnival” officially kicks…...

在Java项目中集成Deepseek大语言模型实践指南

1. 引言 随着人工智能技术的发展&#xff0c;大语言模型在各领域应用日益广泛。本文将详细介绍如何在Java项目中集成Deepseek大模型&#xff0c;实现智能文本生成、对话等功能。 2. 前期准备 准备Java Spring Boot项目环境确保Maven已配置注册Deepseek账号并获取API密钥 获取a…...

医疗影像中,DICOM点云、三角面片实体混合渲染(VR)

此文章&#xff0c;涉及到专业性比较强&#xff0c;所以&#xff0c;大部分的内容&#xff0c;基本上都是示例代码的形式出现。以下的技术路径&#xff0c;完全经过实践验证&#xff0c;并且效果很好&#xff0c;可以放心使用。 1 概述 在医学影像中&#xff0c;对DICOM的渲染…...

程序运行报错分析文档

zryhuawei:~/src/modules/Connect$ ./newbuild/OpConnectAidTool \WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version. replace into process_tracking (step_id,date,status,context_data,start_time,end_time,error_log) values(?,?,?…...

C++数据结构——红黑树

文章目录 一、背景二、关键操作1. 旋转2. 变色3. 查找4. 插入5. 删除 三、面试考点 一、背景 红黑树&#xff08;Red-Black Tree&#xff09;是一种自平衡的二叉搜索树&#xff08;BST&#xff09;&#xff0c;通过颜色标记和旋转操作保证树的高度平衡&#xff0c;从而确保插入…...

【Java实战】线程池 并发 并行 生命周期(详细解释)

线程池&#xff1a; 一种复用线程的技术 不使用线程池的问题&#xff1a; 用户每提出一个需求&#xff0c;都要创建一个新的线程。 创建线程池的方法&#xff1a; JDK 5.0起提供了一个代表线程池的接口&#xff1a;ExecutorService。 方式一&#xff1a; 使用ExecutorServic…...

Qwen3多方位评测

一、Qwen3核心优势 结论&#xff0c;针对这些场景&#xff1a;上下文理解、任务编排、工具调用、数据要素抽取等环节&#xff0c;Qwen3-32B已接近DeepSeek-R1。 二、关键测试环节 1、上下文改写 Qwen3-32B对绝对时间语境理解优于Qwen2.5-72B。 其余改写方面&#xff0c;三…...

银行反欺诈理论、方法与实践总结(下):解决方案

一、金融反欺诈防控体系 反欺诈防控体系是金融机构应对欺诈风险的重要工具&#xff0c;它通常包括事前识别、事中决策和事后处置三个关键阶段。 事前识别阶段&#xff1a;此阶段涉及欺诈情报的收集和账户安全的保护&#xff0c;通过名单和画像的构建来识别潜在风险。例如&…...

自回归图像编辑 EditAR: Unified Conditional Generation with Autoregressive Models

Paperhttps://arxiv.org/pdf/2501.04699 Code (coming soon) 目录 方法 实验 EditAR是一个统一的自回归框架&#xff0c;用于各种条件图像生成任务——图像编辑、深度到图像、边缘到图像、分割到图像。 next-token预测的功效尚未被证明用于图像编辑。 EditAR主要构建在Ll…...

Java中的集合详解

下面是文章详细介绍了 Java 集合框架的基本思路、主要接口与实现、各类集合之间的区别与各自的适用场景&#xff0c;以及一些常见的使用技巧和最佳实践&#xff0c;供你参考。 Java中的集合详解 在 Java 开发中&#xff0c;集合&#xff08;Collection&#xff09;作为存储和操…...

前端mjs和js文件区别,mjs和cjs区别---.es.js和.mjs的区别

https://www.cnblogs.com/jocongmin/p/18432236 同一份配置如下,一般打包出来的结果时是一样的,只不过扩展名不一样 export default defineConfig({build: {rollupOptions: {output: [// 同一份配置&#xff0c;仅扩展名不同{ format: es, entryFileNames: [name].mjs },{ fo…...

【深度学习】Transformer 的应用

目录 一、自然语言处理领域 1、自然语言处理领域的应用 2、BART模型 3、BERTSum模型与自动文本摘要 4、SG-Net与机器阅读理解 5、SG-Net的应用 6、总结 二、计算机视觉领域 1、图像分类 &#xff08;1&#xff09;背景与挑战 &#xff08;2&#xff09;Transformer的…...

C#学习10——泛型

一、什么是泛型&#xff1f; 官方理解&#xff1a;允许开发者在定义类、接口、方法或委托时使用类型参数 个人理解&#xff1a; 类型模具&#xff08;类似Object变色龙&#xff09; 二、泛型有什么用&#xff1f; 通过参数化类型实现代码复用&#xff0c;提升类型安全性并…...

Spring Validation校验

使用 JSR 303 (Bean Validation) 校验接口参数 JSR 303&#xff0c;也称为Bean Validation规范&#xff0c;提供了一种在Java应用程序中执行验证的标准化方式。它允许你通过注解直接在领域或者DTO&#xff08;数据传输对象&#xff09;类上定义校验规则。 1. 添加依赖 首先需…...

精益数据分析(72/126):MVP的核心法则——消除阻碍与聚焦关键指标

精益数据分析&#xff08;72/126&#xff09;&#xff1a;MVP的核心法则——消除阻碍与聚焦关键指标 在创业领域&#xff0c;许多失败案例源于对产品开发的认知偏差——过度追求功能完善或盲目跟风增长&#xff0c;却忽略了用户核心需求的最直接满足。今天&#xff0c;我们结合…...

从头实现react native expo本地生成APK

根据github上老外的经验制作了一个react native expo项目起始模版,准备放到资源下载里(已经免积分放置好),这个起始模版带有个人非常喜欢的tailwindcss,由于raact native使用sheetstyle这种风格的样式,不太喜欢.当然,我们使用react native paper组件库时,就要对组件库里的组件使…...

打卡第二十三天

仔细回顾一下之前21天的内容&#xff0c;没跟上进度的同学补一下进度。 作业&#xff1a; 自行学习参考如何使用kaggle平台&#xff0c;写下使用注意点&#xff0c;并对下述比赛提交代码。 使用Kaggle平台的注意点 Kaggle是一个数据科学竞赛平台&#xff0c;提供了丰富的数据…...

关于汇编语言与接口技术——单片机串行口的学习心得

学习目标&#xff1a; 1.了解AT89S51单片机片内串行口的基本工作原理 2.掌握与串行口有关的特殊功能寄存器以及四种工作方式 一、串行口内部结构 单片机串行口有两个独立的接收、发送缓冲器SBUF&#xff0c;属于特殊功能寄存器&#xff0c;可以同时发送、接收数据&#xff1b…...

汇川PLC通过Profinet转ModbusTCP网关读取西门子PLC数据案例

Modbus TCP主站即Modbus TCP客户端&#xff0c;Modbus TCP主站最多支持同时与31个Modbus TCP从站 。&#xff08;Modbus TCP服务器&#xff09;进行通信。 第一步设置PLC IP地址&#xff1b; 默认PLC IP地址为192.168.1.88。根据需要判断是否需要修改。 第二步添加Modbus TCP…...

2025-05-20 模型下载--文本向量化--Faiss检索

模型下载 使用Python脚本进行下载 from huggingface_hub import snapshot_download # import os# os.environ["HF_ENDPOINT"] "https://hf-mirror.com" # 自定义下载目录&#xff08;Windows 路径建议用 raw string 或 pathlib&#xff09; download_di…...

idea本地debug断点小技巧

idea本地debug断点小技巧 简单的设置断点条件 断点后&#xff0c;右键这个断点&#xff0c;可以在 condition 中填写能得出布尔的表达式 a 1 你如果写如下&#xff0c;表示先给他赋值&#xff0c;然后断住 a 2; true 断点后设置某个变量的值 在 debug 区域可以设置变量…...

Mybatis面向接口编程

添加与Mapper接口的映射 <!--UserMapper.xml--> <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> …...

谈谈对《加密算法》的理解

文章目录 一、什么是加密算法&#xff1f;二、常见的加密算法有哪些&#xff1f;2.1 对称加密2.2 非对称加密2.3 哈希算法 三、加密算法代码展示3.1 MD5加密3.2 秘钥加密3.3 AES加密解密 四、加密算法的使用场景 一、什么是加密算法&#xff1f; 加密算法是一种通过数学方法将…...