java常见的异常
异常分类
Throwable
是java异常的顶级类,所有异常都继承于这个类。
Error,Exception是异常类的两个大分类。
Error
Error是非程序异常,即程序不能捕获的异常,一般是编译或者系统性的错误,如OutOfMemorry内存溢出异常等。
Exception
Exception是程序异常类,由程序内部产生。Exception
又分为运行时异常,非运行时异常类。
运行时异常
运行时异常的特点是java编译器不会检查它,也就是说,当程序中可能出现这类异常时,会编译通过,但是在运行时会出现错误。
如NullPointException,ArrayIndexoutOfBuoundsException等。
非运行时异常
程序必须进行处理的异常,编译不通过,必须捕获或者抛出。如IOException,ClassNotFoundException等。
java常见的异常有哪些?
1、NullPointerException
空指针异常,操作一个 null 对象的方法或属性时会抛出这个异常。
private static void NullPointer() {String s = null;System.out.println(s.equals("123"));}

2、OutofOutofMemoryError
内存出现异常的一种异常,这不是程序能控制的,是指要分配的对象的内存超出了当前最大的堆内存,需要调整堆内存大小(-Xmx)以及优化程序。
3、IOException
IO,即:input, output,我们在读写磁盘文件、网络内容的时候经常会生的一种异常,这种异常是受检查异常,需要进行手工捕获。
如文件读写会抛出 IOException:
public int read() throws IOException
public void write(int b) throws IOException
4、FileNotFoundException
文件找不到异常,如果文件不存在就会抛出这种异常。
FileNotFoundException 其实是 IOException 的子类,同样是受检查异常,需要进行手工捕获。
如定义输入输出文件流,文件不存在会报错:
public FileInputStream(File file) throws FileNotFoundException
public FileOutputStream(File file) throws FileNotFoundException
5、ClassNotFoundException
类找不到异常,Java开发中经常遇到,是不是很绝望?这是在加载类的时候抛出来的,即在类路径下不能加载指定的类。它是受检查异常,需要进行手工捕获。
看一个示例:
public static Class getExistingClass(ClassLoader classLoader, String className) {try{return (Class) Class.forName(className, true, classLoader);} catch( ClassNotFoundException e) {return null;}
}
6、ClassCastException
类转换异常,将一个不是该类的实例转换成这个类就会抛出这个异常。
这是运行时异常,不需要手工捕获。
如将一个数字强制转换成字符串就会报这个异常:
Object x = new Integer(0);
System.out.println((String)x);

7、IndexOutOfBoundsException
索引越界异常,当操作一个字符串或者数组的时候经常遇到的异常。它是运行时异常,不需要手工捕获。
例:一个ArrayList数组中没有元素,而你想获取第一个元素,运行是就会报此类型的错误。
public class test{public static void main(args[] ){List list = new ArrayList<>();System.out.println(list.get(0));}
}
8、ArithmeticException
算术异常,发生在数字的算术运算时的异常,如一个数字除以 0 就会报这个错。
double n = 3 / 0;

9、NumberFormatException
数字格式异常。当试图将一个String 转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。
例如:
private static void NumberFormat(){String a= "a";int b = Integer.valueOf(a);System.out.println(b);}

10、StringIndexOutOfBoundsException
字符串索引越界异常。当使用索引值访问某个字符串中的字符,而该索引值小于0或大于等于序列大小时,抛出该异常.
//字符串索引越界异常private static void StringIndexOutOfBounds(){String a = "a";System.out.println(a.substring(3,4));}

相关文章:
java常见的异常
异常分类 Throwable 是java异常的顶级类,所有异常都继承于这个类。 Error,Exception是异常类的两个大分类。 Error Error是非程序异常,即程序不能捕获的异常,一般是编译或者系统性的错误,如OutOfMemorry内存溢出异常等。 Exc…...
从0开始学python -33
Python3 输入和输出 -1 在前面几个章节中,我们其实已经接触了 Python 的输入输出的功能。本章节我们将具体介绍 Python 的输入输出。 — 输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数。 第三种方式是使用文件对象的 write() 方法ÿ…...
ModuleNotFoundError: No module named ‘glfw‘ 解决方案
错误描述 env gym.make(env_id) File "/opt/conda/envs/WNPG/lib/python3.8/site-packages/gym/envs/registration.py", line 619, in make env_creator load(spec_.entry_point) File "/opt/conda/envs/WNPG/lib/python3.8/site-packages/gym/envs/r…...
RadZen运行和部署,生成业务web应用程序
RadZen运行和部署,生成业务web应用程序 快速简单地生成业务web应用程序,可视化地构建和启动web程序,而我们为您创建新代码。 从信息开始 连接到数据库。Radzen推断您的信息并生成一个功能完备的web应用程序。支持MSSQL REST服务。 微调 添加页面或编辑生…...
分享7个比B站更刺激的老司机网站,别轻易点开
俗话说摸鱼一时爽,一直摸一直爽,作为一个程序员老司机了,一头乌黑浓密的头发还时不时被同事调侃,就靠这10个网站让我健康生活,不建议经常性使用,因为还有一句俗话,那就是“摸鱼一时爽࿰…...
浅析:如何在Vue3+Vite中使用JSX
目录 0. Vue3,Vite,JSX 三者的关系 JSX介绍 在 Vue3 中使用 JSX 安装插件(vitejs/plugin-vue-jsx) 新建 jsx 文件 语法 补充知识:注意事项 0. Vue3,Vite,JSX 三者的关系 Vue3、Vite 和 …...
开发小程序需要什么技术?
小程序是一种新的开发能力,相比于原生APP 开发周期短,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。 开发小程序需要什么技术? 前端技术基础:html、js、css。具体到小程序&a…...
7个营销人员常见的社交媒体问题以及解决方法
在如今的数字营销时代,许多营销人员都害怕在社交媒体上犯错。他们担心他们的社交媒体中的失误会演变成一场公关危机。面对一些常见的社交媒体问题,您需要知道如何避免和解决。对于数字营销人员来说,在现在这个信息互通,每时每刻都…...
BFC 是什么
在页面布局的时候,经常出现以下情况: 这个元素高度怎么没了?这两栏布局怎么没法自适应?这两个元素的间距怎么有点奇怪的样子?...... 原因是元素之间相互的影响,导致了意料之外的情况,这里就涉及…...
07 react+echart+大屏
reactechart大屏大屏ECharts 图表实际步骤React Typescript搭建大屏项目,并实现屏幕适配flexible rem实现适配1. 安装插件对echarts进行的React封装,可以用于React项目中,支持JS、TS如何使用完整例子官网参考大屏 ECharts 图表 ECharts 图…...
Linux/Ubuntu安装部署Odoo15仓管系统,只需不到十步---史上最成功
sudo apt-get update sudo apt install postgresql -y sudo apt-get -f install sudo dpkg -i /home/ubuntu/odoo_15.0.latest_all.deb —报错再次执行上一条命令再执行 —安装包地址:http://nightly.odoo.com/15.0/nightly/deb/–翻到最下面 sudo apt-get ins…...
Python奇异值分解
当AAA是方阵时,可以很容易地进行特征分解:AWΣW−1AW\Sigma W^{-1}AWΣW−1,其中Σ\SigmaΣ是AAA的特征值组成的对角矩阵。如果WWW由标准正交基组成,则W−1WTW^{-1}W^TW−1WT,特征分解可进一步写成WTΣWW^T\Sigma WWTΣ…...
AWS攻略——子网
文章目录分配子网给Public子网分配互联网网关创建互联网网关附加到VPC给Public子网创建路由表关联子网打通Public子网和互联网网关创建Public子网下的EC2进行测试配置Private子网路由给Private子网创建路由表附加在Private子网创建Private子网下的EC2进行测试创建实例在跳板机上…...
java面试 - mq
RocketMq和RabbitMq的优缺点 1、RabbitMQ 优点:rabbitMq 几万级数据量,基于erlang语言开发,因此响应速度快些,并且社区活跃度比较活跃,可视化界面。 缺点:数据吞吐量相对与小一些,并且是基于er…...
PTP GPTP芯片资料翻译88E6352
88E6352应用 网关 车载信息娱乐 车身域控制器 PTP PTP通过周期型地交换控制包实现 选择其中网络最佳质量时钟元素,作为PTP网络中Grand Master.没有Grand Master 节点变成PTP slave节点。PTP节点从Grand Master节点获得他们驱动频率和时间信息。 基本观念是PTP帧…...
用Python实现一个电影订票系统
一、效果展示通过Python实现一个电影订票系统,效果如下所示:二、整体结构图三、代码分解3.1 infos.py一部电影的详细信息适合用 字典 结构来存储,我们可以给字典里添加多个键值对来保存电影的名称、座位表和宣传时用的字符画,比如…...
什么是瞪铃企业
“瞪羚企业”是指创业后跨过死亡谷以科技创新或商业模式创新为支撑进入高成长期的中小企业。认定范围主要是产业领域符合国家和省战略新兴产业发展方向,涵盖新兴工业、新一代信息技术、生物健康、人工智能、金融科技、节能环保、消费升级等领域。按照硅谷的解释&…...
【深度学习】多分类问题和多标签分类问题
上一章——激活函数 文章目录什么是多分类问题Softmax贝叶斯公式softmax的损失函数多标签分类问题什么是多分类问题 在之前的课程中,我们学习了二分问题,二分问题中的所有数据会被分类为0和1(或者Ture和False)两种输出标签。但是…...
大学生开学买什么,返校必备数码好物推荐
开学还不知道需要准备些什么,这篇开学数码好物,希望能够对你在开学购买的好物有一些帮助,一款好的数码装备,可以让我们在学校学习当中能够用最少的时间,最大的产出,节省时间,提高学习效率&#…...
Unreal Engine06:Actor的实现
写在前面 Actor是可以放进地图的最基本类,这里主要是介绍一下Actor的使用。 一、空间坐标系 1. Actor的变换操作 Actor的变换变换操作主要包括四个部分: 位置;旋转;缩放; 上面三者都是对应三个轴进行变换࿱…...
芯片设计中的工程迷信与理性实践:从经验法则到数据驱动
1. 项目概述:从“黑色星期五”迷信到工程设计的理性思考作为一名在电子设计自动化(EDA)和半导体行业摸爬滚打了十几年的工程师,我每天打交道的是精确到纳秒的时序分析、纳米级的物理规则和数以亿计的晶体管布局。在这个世界里&…...
鸣潮自动化终极指南:5分钟解放双手,告别重复刷图
鸣潮自动化终极指南:5分钟解放双手,告别重复刷图 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves ok-ww 是一…...
前端工程化:代码质量监控实战指南
前端工程化:代码质量监控实战指南 前言 代码质量监控是保障项目长期健康发展的关键。一个好的代码质量监控体系能帮助团队及时发现潜在问题,防止技术债务积累。今天我就来给大家讲讲如何建立一套完整的代码质量监控体系。 为什么代码质量监控如此重要 代…...
开源金属四足机器人MEVIUS2设计与实现解析
1. MEVIUS2:开源金属四足机器人设计解析四足机器人技术近年来取得了显著进展,从实验室走向了实际应用场景。作为一名长期从事机器人系统开发的工程师,我特别关注如何降低这类先进机器人的研发门槛。MEVIUS2项目正是这一领域的突破性尝试——它…...
Void Memory:为AI智能体构建持久记忆的轻量级解决方案
1. 项目概述:为AI智能体构建持久记忆的“记忆锚”如果你和我一样,长期与Claude Code、Cursor这类AI编程助手并肩作战,一定对那个令人沮丧的瞬间不陌生:你花了半小时向它详细解释了一个复杂项目的架构、你的编码偏好、刚刚踩过的坑…...
docker-maven-plugin 源码解析:深入理解插件架构与实现原理
docker-maven-plugin 源码解析:深入理解插件架构与实现原理 【免费下载链接】docker-maven-plugin Maven plugin for running and creating Docker images 项目地址: https://gitcode.com/gh_mirrors/doc/docker-maven-plugin 一、插件核心架构概览 docker-…...
Mermaid Live Editor终极指南:3分钟掌握免费在线图表编辑神器
Mermaid Live Editor终极指南:3分钟掌握免费在线图表编辑神器 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live…...
Gemini3.1Pro如何实现视觉平移不变性
“视觉 Transformer 的平移不变性(translation invariance)是否能在 Gemini 3.1 Pro 中实现?”这个问题的难点在于:平移不变性是视觉模型的归纳偏置,而 Gemini 3.1 Pro 是多模态大模型(LLM视觉/多模态能力&…...
安全扫描自动化:构建持续安全检测体系
安全扫描自动化:构建持续安全检测体系 一、安全扫描自动化概述 1.1 安全扫描自动化的定义 安全扫描自动化是指通过工具和脚本自动执行安全检测任务,包括漏洞扫描、代码安全检测、配置安全检查等。它是DevSecOps实践的重要组成部分。 1.2 安全扫描自动化的…...
OpenCore Configurator:告别命令行,用图形界面轻松配置黑苹果引导
OpenCore Configurator:告别命令行,用图形界面轻松配置黑苹果引导 【免费下载链接】OpenCore-Configurator A configurator for the OpenCore Bootloader 项目地址: https://gitcode.com/gh_mirrors/op/OpenCore-Configurator 你是否曾为配置黑苹…...
