[Java][异常]异常的初探与异常的捕获+练习

 分为Error和Exception Error是sun公司来处理的严重的异常
        比如内存泄露这种系统级别的异常
        后者的Exception就是我们在开发的时候经常遇到的异常
        Exception可以分为两类,RuntimeException 运行时异常 比如数组越界异常
        除了RuntimeException之外 都是编译时异常 比如日期解析日常

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class Main{public static void main(String[] args) throws ParseException {//Java.lang.Throwable抛出一个问题/*分为Error和Exception Error是sun公司来处理的严重的异常比如内存泄露这种系统级别的异常后者的Exception就是我们在开发的时候经常遇到的异常Exception可以分为两类,RuntimeException 运行时异常 比如数组越界异常除了RuntimeException之外 都是编译时异常 比如日期解析日常*///编译时候异常String time = "2023年1月1日";SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");Date date = sdf.parse(time);System.out.println(date);//在月和日上我输入的字符串各少了一个字符//所以输入是会产生异常的 异常的结果是什么? 结果是打印2023年的1月1日 因为年是没问题的 只有月和日存在问题//运行时候异常int[] arr = {1,2,3,4,5};System.out.println(arr[10]);//ArrayIndexOutOfBoundException数组越界异常//Java ->(通过javac命令进行编译)字节码文件/*比如ParseException这个异常就是编译时异常从字节码文件->运行结果(Java命令)是不需要处理的 是代码运行的时候出现的异常*///异常的拓展知识:/*编译阶段:Java不会运行代码的 但是只会检查语法是否错误 以及做一些性能的优化但是遇到了ArrayIndexOutOfBoundException这种运行时异常 编译阶段是不会报错的PS:编译型的异常是提醒程序员去检查本地信息 在于提醒运行时异常没有提醒作用 就是纯粹的报错*//*异常的作用:要从小往上看1.查询bug的参考信息2.作为方法的返回值我们给一个抛出异常的办法 new RuntimeException(); 在内部抛出异常*/}
}
//1.如果try没有问题怎么办
int[] arr = {1,2,3,4,5,6};try{System.out.println(arr[0]);}catch (ArrayIndexOutOfBoundsException e){System.out.println("索引越界了");}System.out.println("看看我执行了么");
/*显然try没有问题就会打印完try内的内容 并且执行完下方的代码*/
//2.如果try有多个问题怎么办
int[] arr = {1,2,3,4,5,6};try{System.out.println(arr[10]);System.out.println(2/0);}catch (ArrayIndexOutOfBoundsException e){System.out.println("索引越界了");}System.out.println("看看我执行了么");}/*这里有两个异常 但是我们只捕获一个异常 代码比方说我的try里面包含了两个异常1.第一个是ArrayIndexOutOfBoundsException2.第二个是一个运算异常但是我这里只考虑捕获了第一个异常 所以第二个异常被略过了 输出的时候只是不会输出第二个语句而已*/
/*如果说你的语句中可能存在多个异常那么你就要写多个捕获语句 并且注意!!父类一定要写在下面*/
int[] arr = {1,2,3,4,5,6};try{System.out.println(arr[10]);System.out.println(2/0);String s= null;System.out.println(s.equals("abc"));}catch (ArrayIndexOutOfBoundsException e){System.out.println("索引越界了");}catch(ArithmeticException e){System.out.println("除数不能为0");}catch(NullPointerException e){System.out.println("空指针异常");}catch(Exception e){System.out.println("这是一个父类的异常");}System.out.println("看看我执行了么");
//4.如果try遇到了问题 try下面的其他代码还会执行吗int[] arr = {1,2,3,4,5,6};try{System.out.println(arr[10]);System.out.println(2/0);String s= null;System.out.println(s.equals("abc"));}catch (ArrayIndexOutOfBoundsException|ArithmeticException e){System.out.println("这是在JDK7以后出现的新写法 两种异常输出一种结果");}catch(NullPointerException e){System.out.println("空指针异常");}catch(Exception e){System.out.println("这是一个父类的异常");}System.out.println("看看我执行了么");}

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

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

相关文章

79-C语言-小球降落和反弹问题

简介:一个球从100m高度处落下,每次落地后反弹回原高度一半,再落下,再反弹。问:它在第十次落地,共运动了多少米,第十次反弹又多高呢? 看代码注释即可 代码如下: #inclu…

【java8 stream 集合转为树结构】

集合转为树结构 单表&#xff0c;数据有层级&#xff0c;通过parentId关联 先需要获取层级树类型的数据&#xff0c;但不想多次查询&#xff0c;需要减少查询sql次数 1.单表查询所有有效数据 2.逻辑层处理成树结构 public List<CheckVo> fun(){List<CheckVo> resul…

Web前端-HTML(常用标签)

文章目录 1. HTML常用标签1.1 排版标签1&#xff09;标题标签h (熟记)2&#xff09;段落标签p ( 熟记)3&#xff09;水平线标签hr(认识)4&#xff09;换行标签br (熟记)5&#xff09;div 和 span标签(重点)6&#xff09;排版标签总结 1.2 标签属性1.3 图像标签img (重点)1.4 链…

MySQL进阶|MySQL中的事务(一)

文章目录 数据库事务MySQL中的存储引擎InnoDB存储引擎架构什么是事务事务的状态总结 数据库事务 MySQL 事务主要用于处理操作量大&#xff0c;复杂度高的数据。比方我想要删除一个用户&#xff08;销户&#xff09;以及这个用户的个人信息、订单信息以及其他信息&#xff0c;这…

2024年软件测试入坑指南,新人必看系列

本科非计算机专业&#xff0c;在深圳做了四年软件测试工作&#xff0c;从之前的一脸懵的点点点&#xff0c;到现在会点自动化测试&#xff0c;说一点点非计算机专业人员从事软件测试的心得体会&#xff0c;仅供参考交流。 如果你是非计算机专业&#xff0c;毕业不久&#xff0…

<JavaEE> 文件IO -- File类和文件操作

目录 一、文件的概念 二、文件系统 三、文件类型 四、使用 File 类进行文件操作 4.1 File 类中的 pathSeparator 属性 4.2 File 类构造方法 4.3 File 类常用方法 一、文件的概念 什么是文件&#xff1f; 广义上的“文件”是指抽象化的操作系统中的硬件设备和软件资源&a…

第十三章 SpringCloud Alibaba 实现 Seata--分布式事务

分布式事务基础 事务 事务指的就是一个操作单元&#xff0c;在这个操作单元中的所有操作最终要保持一致的行为&#xff0c;要么所有操作 都成功&#xff0c;要么所有的操作都被撤销。简单地说&#xff0c;事务提供一种“要么什么都不做&#xff0c;要么做全套”机制。 本地事…

RAG检索增强技术在知识库智能检索场景下的应用实践

如果你对这篇文章感兴趣&#xff0c;而且你想要了解更多关于AI领域的实战技巧&#xff0c;可以关注「技术狂潮AI」公众号。在这里&#xff0c;你可以看到最新最热的AIGC领域的干货文章和案例实战教程。 一、知识检索增强的基本概述 1.1、知识检索增强技术提出的背景 1.1.1、L…

Spring Boot学习随笔- JSP小项目-员工管理系统(验证码生成、增删改查)

学习视频&#xff1a;【编程不良人】2021年SpringBoot最新最全教程 第十章、项目开发 实现一个登录注册&#xff0c;增删改查功能的系统 10.1 项目开发流程 需求分析 分析用户主要需求 提取项目核心功能&#xff0c;根据核心功能构建页面原型 库表设计&#xff1a; 分析系统…

基于FPGA的视频接口之高速IO(CML)

简介 本章节是对于高速IO接口应用的一个扩展&#xff0c;目前扩展为CML。 CML&#xff08;电流模式逻辑-即Current Mode Logic&#xff09;。电路主要靠电流驱动&#xff0c;也是所有高速数据接口形式中最简单的一种&#xff0c;它的输入与输出的匹配集成在芯片内部&#xff0c…

智能合约为什么是企业数字化转型的新引擎。

随着互联网科技的飞速发展&#xff0c;智能合约作为一种新兴技术&#xff0c;正在逐渐改变着企业的运营模式。智能合约是一种自动执行、自动执行合同条款的计算机程序&#xff0c;它可以在不需要第三方干预的情况下&#xff0c;自动执行合同条款&#xff0c;从而提高了企业的运…

mysql innodb知识记录

官方文档 官网架构图 innodb 特性 内存 buffer pool 采用优化后的LRU算法&#xff0c; 3/8 of the buffer pool is devoted to the old sublist.The midpoint of the list is the boundary where the tail of the new sublist meets the head of the old sublist.When In…

逆向登录(js逆向)

链接: aHR0cHM6Ly9zc28ubHlua2NvLmNvbS9jdXN0b21lci9sb2dpbj9jbGllbnRfaWQ9OGMxNWE2NGY2Nzk0NDY5YjhhNTlmMTBiODNjZWYzYzEmcmVkaXJlY3RfdXJpPWh0dHBzOi8vaDUubHlua2NvLmNuOjQ0My9hdXRoL21hbGwvaDUvbG9naW4mcmVzcG9uc2VfdHlwZT1jb2RlJnNjb3BlPW9wZW5pZCZzdGF0ZT0zNGQ4NGYxNmIwY…

MySQL安装——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理

MySQLhttps://www.mysql.com/ 将下发的ds_db01.sql数据库文件放置mysql中 12、编写Scala代码&#xff0c;使用Spark将MySQL的ds_db01库中表user_info的全量数据抽取到Hive的ods库中表user_info。字段名称、类型不变&#xff0c;同时添加静态分区&#xff0c;分区字段为etl_da…

Dubbo 扩展方法的使用

扩展的目的&#xff1a; Dubbo SPI Extensions 1.0.3 (2022-11-28) Source Release source | asc | sha512 Maven Release <dependency><groupId>org.apache.dubbo.extensions</groupId><artifactId>${component_name}</artifactId><ver…

Win10电脑退出安全模式的两种方法

在Win10电脑中&#xff0c;大家可以点击进入系统安全模式&#xff0c;完成相对应的系统设置。但是&#xff0c;很多用户进入安全模式完成设置后&#xff0c;不知道怎么操作才能成功退出安全模式&#xff1f;接下来小编给大家分享两种简单的方法&#xff0c;帮助大家成功退出Win…

强大的数学软件 GeoGebra 多平台适用

GeoGebra 是一款教育数学软件&#xff0c;可以帮助学生和教师探索、学习和教授各种数学概念和科学领域的知识。GeoGebra 以其灵活性和强大的功能而闻名&#xff0c;它融合了几何、代数、微积分、概率、统计和其他数学领域的工具&#xff0c;以及绘图和计算功能。 功能 GeoGeb…

Java魔法解密:HashMap底层机制大揭秘

文章目录 一、 源码深度解析1.1 窥探Java集合框架中的设计思想1.2 逐行解读HashMap的源代码1.2.1 类信息1.2.2 常量属性1.2.3 变量属性1.2.4 节点信息1.2.5 构造方法1.2.6 put方法1.2.6.1 putVal方法1.2.6.2 putTreeVal方法1.2.6.3 tieBreakOrder方法1.2.6.4 treeifyBin方法1.2…

汽车行业招标采购(系统)数智化建设解决方案

汽车行业是中国国民经济的支柱产业&#xff0c;公安部数据显示&#xff0c;我国平均每百户家庭拥有汽车达到60辆。广阔的市场为行业带来大量需求&#xff0c;以及激烈的市场竞争&#xff1b;同时我国汽车产业正处在从传统工业时代向数字时代迈进的关键时期&#xff0c;急需创新…

python排序

0. 背景 Python排序功能十分强大&#xff0c;可以进行基本排序或自定义排序。Python中提供两种不同的排序方法对各种各样的数据类型进行排序。 1. 使用sorted()函数排序 排序主要是对相同数据类型的元素进行的&#xff0c;包括数值和字符串两种数据类型。 1.1 对数值进行排…