1-32 异常

一 什么是异常?

1.含义:异与正常状态的显示,控制台显示的结果和预期的结果不一致

2.例如:

int[] nums = new int[2];
System.out.println(nums[2]); --抛出异常

二 异常分类

1.检测性异常:又称 非运行时异常,一般编写代码过程中编辑器直接报错

2.非检测性异常(常用):又称为运行时异常,Java运行时 单独封装一个类--RunTimeException类,一般是编写代码的时候 不会出现任何问题,一旦执行,没有获取到预期结果

三 异常类结构

通过上述的结构换分(从Exception类开始)

①对于异常的信息,解释越详细,异常类的名越长

②异常的名字划分两部分

Exception前:表示 对当前异常出现的详细描述

Exception表示当前类似异常类

四 异常解读

Exception:表示当前代码存在异常

in thread"main":在主线程中

java.lang.异常类名:表示当前出现的是什么异常

:值--对当前异常 是因为什么引起的

at cn......:表示当前的异常 出现代码的行数

特点:一旦出现异常,在这个异常之后的代码都不执行

五 异常处理机制

1.机制:按照Java中规定好的制定规则,完成对数据或业务的指定处理,称为机制.

2.分类

① 处理异常(常用):由程序员主动处理(后期 由Spring 框架完成)

②抛出异常:"不负责的处理",将异常向上抛出,谁调用谁处理

3 处理异常--3个

①语法格式

try{

捕获异常:完成对制定异常的处理

}catch(异常类 异常类对象){\

}.....

finally{

编写无论是否出现异常都要执行的代码,一般是编写 关闭资源的代码

}

import java.util.Scanner;public class ExceptionDemo {public static void main(String[] args) {Scanner sc=new Scanner(System.in);try {System.out.println("下标");int index=sc.nextInt();int[] nums=new int[2];  //默认值是0System.out.println(nums[index]);}catch (ArrayIndexOutOfBoundsException e){System.out.println("是不是憨憨了");}catch (Exception e){e.printStackTrace();}finally {sc.close();System.out.println("程序结束");}}
}

③执行原理

当try块中捕获异常后 马上执行 catch块中的内容,try块后续的代码都不执行,catch执行之后 在执行finally,如果try块中没有捕获异常 执行try中的所有代码执行finally

④执行特点

(1)组合操作

try catch finally 同时组合出现

try catch可以组合

try finally 可以组合

catch finally 不能组合

(2)这个三个代码块之间不能写任何代码

(3)try catch finally 可以嵌套 但是实际开发中很少这么使用

(4)当编写 多个catch块 编写顺序和执行顺序

catch既有编写顺序也有执行顺序,必须按照 异常的详细程序,越靠前越详细,执行只能执行最匹配的,完成处理

4.抛出异常

(1)throw:抛出一个或多个 异常 定义的位置 参数列表后面的多个异常 用逗号隔开

(2)throw:抛出指定异常的对象 定义位置方法体中

五 名词解析

1 Java语言的特点: 简单 健壮 多线程 完全面向对象 跨平台

2 多线程

①线程:一个APP最小的单位和单元

②进程:硬件设备上的每一个应用程序

③多线程:一个进程中 至少要有两个或者两个以上的线程在执行

最简单的Java程序,包含的线程:垃圾回收处理机制

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

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

相关文章

牛客 2024春招冲刺题单 ONT98 牛牛猜节点【中等 斐波那契数列 Java,Go,PHP】

题目 题目链接: https://www.nowcoder.com/practice/6a3dfb5be4544381908529dc678ca6dd 思路 斐波那契数列参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规…

让chatGPT控制物理设备

作为自动控制行业的工程师,我们也许最关心的是如何使chatGPT 控制物理设备。我发现许多人仍然停留在传统程序设计的思维阶段,比如让大模型编写一段PLC 代码,或者是生成一些信息模型。 其实大模型具备判断与思考的能力,AI …

ARM v8 Cortex R52内核 02 程序模型 Programmers Model

ARM v8 Cortex R52内核 02 程序模型 Programmers Model 2.1 关于程序模型 Cortex-R52处理器实现了Armv8-R架构。这包括: 所有的异常级别,EL0-EL2。 每个异常级别下的AArch32执行状态。 T32和A32指令集,其中包括: 浮点运算。 …

Day:004(2) | Python爬虫:高效数据抓取的编程技术(数据解析)

正则表达式实战-腾讯新闻 需求: 使用正则获取腾讯新闻标题内容 网站:https://sports.qq.com/ 代码: import reimport requests from fake_useragent import UserAgenturl https://sports.qq.com/ # 构建请求头信息 headers {User-Agent:…

【Frida】【Android】 工具篇:ProxyPin抓包详解

🛫 系列文章导航 【Frida】【Android】01_手把手教你环境搭建 https://blog.csdn.net/kinghzking/article/details/136986950【Frida】【Android】02_JAVA层HOOK https://blog.csdn.net/kinghzking/article/details/137008446【Frida】【Android】03_RPC https://bl…

SSL VPN

1、SSL (Secure Sockets Layer)一种加密的通讯协定,用在使用者与网服器之间 【1】安全套接层 位于传输层和应用层之间,保护应用层的数据(HTTPS(443)=HTTP+TLS) 【2】版本 SSLv2 SSLv3 修改→TLS (Transport Layer Security)安全传输层协议,) 【3】模式 采用…

Linux文件种类、扩展名与目录配置详解

🐇明明跟你说过:个人主页 🏅个人专栏:《Linux :从菜鸟到飞鸟的逆袭》 🏅 🔖行路有良友,便是天堂🔖 目录 一、前言 1、Linux的起源与发展 二、Linux文件种类 1、纯…

高精度端到端在线校准环视相机和LIDAR(精度0.2度内!无需训练数据)

高精度端到端在线校准环视相机和LIDAR(精度0.2度内!无需训练数据) 附赠自动驾驶学习资料和量产经验:链接 写在前面 在自动驾驶车辆的使用寿命内,传感器外参校准会因振动、温度和碰撞等环境因素而发生变化。即使是看似…

分布式锁实战

4、分布式锁 4.1 、基本原理和实现方式对比 分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行&#x…

python爬虫学习第十五天-------ajax的get和post请求

嗨嗨嗨!兄弟姐妹大家好哇!今天我们来学习ajax的get和post请求 一、了解ajax Ajax(Asynchronous JavaScript and XML)是一种在 Web 开发中用于创建交互式网页应用程序的技术。通过 Ajax,网页可以在不重新加载整个页面…

一文解析智慧城市,人工智能技术将成“智”理主要手段

长期以来,有关智慧城市的讨论主要围绕在技术进步方面,如自动化、人工智能、数据的公开以及将更多的传感器嵌入城市以使其更加智能化。实际上,智慧城市是一个关于未来的设想,其重要原因在于城市中存在各种基础设施、政治、地理、财…

操作系统(7分)

进程管理 进程的状态 前趋图 表达哪些任务可以先运行,任务间运行的先后顺序。 进程的同步与互斥 在多道程序环境下,操作系统必须采取相应措施处理好进程之间的制约关系。进程同步的主要任务是对多个有制约关系的进程在执行次序上进行协调,…

插入电脑的u盘文件删除了怎么恢复?删除文件恢复的5个方法

随着科技的发展,U盘已经成为我们日常生活中不可或缺的一部分。然而,使用U盘时,有时我们可能会不小心删除一些重要的文件,这可能会给我们带来很大的困扰。那么,当U盘中的文件被删除后,我们该如何恢复呢&…

Spark编程基础

一、RDD入门 1.RDD是什么? RDD是一个容错的、只读的、可进行并行操作的数据结构,是一个分布在集群各个节点中的存放元素的集合,即弹性分布式数据集。 2.RDD的三种创建方式 第一种是将程序中已存在的集合(如集合、列表、数组&a…

批量导入svg文件作为图标使用(vue3)vite-plugin-svg-icons插件的具体应用

目录 需求svg使用简述插件使用简述实现安装插件1、配置vite.config.ts2、src/main.ts引入注册脚本3、写个icon组件4、使用组件 需求 在vue3项目中,需要批量导入某个文件夹内数量不确定的svg文件用来作为图标,开发完成后能够通过增减文件夹内的svg文件&a…

OSPF基础实验

一、实验拓扑 二、实验要求 1、按照图示配置IP地址 2、R1,R2,R3运行OSPF使内网互通,所有接口(公网接口除外)全部宣告进 Area 0;要求使用环回口作为Router-id 3、业务网段不允许出现协议报文 4、R4模拟互…

Apache Log4j2 Jndi RCE CVE-2021-44228漏洞原理讲解

Apache Log4j2 Jndi RCE CVE-2021-44228漏洞原理讲解 一、什么是Log4j2二、环境搭建三、简单使用Log4j2四、JDNI和RMI4.1、启动一个RMI服务端4.2、启动一个RMI客户端4.3、ldap 五、漏洞复现六、Python批量检测 参考视频:https://www.bilibili.com/video/BV1mZ4y1D7K…

ARM、X86、RISC-V三分天下

引入: 简单的介绍一下X86、ARM、RISC-V三种cpu架构的区别和应用场景。 目录 简单概念讲解 1. X86架构 2. ARM架构 3. RISC-V架构 应用场景 X86、ARM和RISC-V是三种不同的CPU架构,它们在设计理念、指令集和应用场景上有一些区别。 简单概念讲解 1. X…

33. UE5 RPG使用增强输入激活GameplayAbility(三)

在前面的文章,我们实现了使用GameplayTag和InputAction的对应绑定的数据,并且添加到了增强输入映射的上下文中,实现了通过按键打印对应的GameplayTag,这只是我们基础需要制作的。目的主要是为了实现在GameplayAblity上面设置对应的…

计算机网络 实验指导 实验16

实验16 PPP配置实验 1.实验拓扑图 实验10讲了如何添加Se的接口 名称接口IP地址Router1se0/0/0192.168.1.1/24Router0se0/0/0192.168.1.2/24se0/0/1192.168.2.1/24Router2se0/3/0192.168.2.2/24 2.实验目的 (1)掌握PPP的基本配置步骤和方法 &#xf…