1-32 异常

news2024/11/20 15:28:54

一 什么是异常?

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];  //默认值是0
            System.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.coloradmin.cn/o/1572748.html

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

相关文章

[StartingPoint][Tier0]Preignition

Task 1 Directory Brute-forcing is a technique used to check a lot of paths on a web server to find hidden pages. Which is another name for this? (i) Local File Inclusion, (ii) dir busting, (iii) hash cracking. (目录暴力破解是一种用于检查 Web 服务器上的大…

【Python使用】嘿马头条完整开发md笔记第4篇:数据库,1 方案选择【附代码文档】

嘿马头条项目从到完整开发笔记总结完整教程(附代码资料)主要内容讲述:课程简介,ToutiaoWeb虚拟机使用说明1 产品介绍,2 原型图与UI图,3 技术架构,4 开发,1 需求,2 注意事项。数据库,理解ORM1 简介,2 安装,3 数据库连接…

MPLS基本转发过程,隧道特性、对TTL的处理、BGP路由黑洞

MPLS基本转发过程,隧道特性 标签操作类型包括标签压入(Push)、标签交换(Swap)和标签弹出(Pop),它们是标签转发的基本动作。 倒数第二跳弹出特性PHP(Penultimate Hop Popp…

并查集python实现及题目练习

文章目录 1. 并查集概念1.1 理解并查集:简介与应用场景1.2 Python 实现并查集及优化策略1.3 扁平化栈实现1.4 分析并查集的时间复杂度 2. 情侣牵手3. 相似字符串4. 岛屿数量 如果想了解并查集基础推荐去看左程云大神的算法讲解,非常不错,b站和…

InterlliJ Debug方式启动 method breakpoints may dramatically show down debugging

使用idea在DEBUG的时候出现Method breakpoints may dramatically slow down debugging, 如图: 根据语义可能是断点打在方法上面了,导致在某个断点卡住了。 重启服务器和重启idea已然无解。 打开Breakpoints面板看看,(快捷键&…

递归实现排列型枚举(acwing)

题目描述: 把 1∼n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。 输入格式: 一个整数 n。 输出格式: 按照从小到大的顺序输出所有方案,每行 1 个。 首先,同一行相邻两个数用一个空格隔开…

mac、windows 电脑安装使用多个版本的node

我们为啥要安装多个不同版本的node? 开发旧项目时,使用低版本Nodejs。开发新项目时,需使用高版本Node.js。可使用n同时安装多个版本Node.js,并切换到指定版本Node.js。 mac电脑安装 一、全局安装 npm install -g n 二、mac电脑…

淘宝优惠券领取软件叫什么?

草柴返利APP是一款淘宝优惠券领取软件。用户可以通过草柴淘宝优惠券领取软件轻松查找领取淘宝大额隐藏优惠券,领取成功后再购物可享受券后价优惠。同时,通过草柴APP领券购买成功,确认收货后再回到草柴APP提取购物返利,享受双重省钱…

idea maven 打包 内存溢出 报 GC overhead limit exceeded -> [Help 1]

idea 使用maven打包 报GC overhead limit exceeded -> [Help 1] 解决方法: 打开settings -> 点开如同所示 将 vm Options 参数 设为 -Xmx8g

记第一次eudsrc拿到RCE(下)

目录 前言 个人介绍 挖洞公式 漏洞介绍 信息泄露漏洞 任意文件读取漏洞 远程命令执行(RCE)漏洞 漏洞详情 漏洞点1 漏洞点2 漏洞点3 修复建议 总结 前言 免责声明 以下漏洞均已经上报漏洞平台。请勿利用文章内的相关技术从事非法测试。若因…

Autosar BswM 模式管理

EcuMs管理ECU上下电状态,BswM管理模式,协同工作。当使用EcuM - Fixed时,它将向BswM指示当前ECU状态 有了BswM,从图可以更加直观看出,BswM管理各个模块,每个模块独立,降低耦合。 BswM 的主要功能包括: 模式管理:BswM 可以管理和控制 ECU 的不同模式,例如正常模式、备…

AJAX 原理

一、AJAX原理 - XMLHttpRequest 定义: 关系:axios 内部采用 XMLHttpRequest 与服务器交互。 好处:掌握使用 XHR 与服务器进行数据交互,了解 axios 内部原理。 1.1 使用 XMLHttpRequest: 步骤: 1. 创建 XM…

免注册,ChatGPT可即时访问了!

AI又有啥进展?一起看看吧 Apple进军个人家用机器人 Apple在放弃自动驾驶汽车项目并推出混合现实头显后,正在进军个人机器人领域,处于开发家用环境机器人的早期阶段 报告中提到了两种可能的机器人设计。一种是移动机器人,可以跟…

【机器学习300问】60、图像分类任务中,训练数据不足会带来什么问题?如何缓解图像数据不足带来的问题?

在机器学习中,绝大部分模型都需要大量的数据进行训练和学习(包括有监督学习和无监督学习),然而在实际应用中经常会遇到训练数据不足的问题。就比如图像分类这样的计算机视觉任务,确实依赖于大规模且多样化的训练数据以…

Java笔试总结

. 操作系统中关于竞争和死锁的关系下面描述正确的是? A 竞争一定会导致死锁 B 死锁一定由竞争引起 C 竞争可能引起死锁 D 预防死锁可以防止竞争 答案: C 进程的控制信息和描述信息存放在()。 A JCB B PCB C AFT D SFT 答案: B 当系统发生抖动(thrash…

企业数据资产入表的基本原则、参与主体和一般实现路线

目录 引言 一、企业数据资产入表的基本原则 1、准确性原则 2、一致性原则 3、安全性原则 4、可扩展性原则 5、合法合规原则 6、谨慎性原则 7、商业秘密保护原则 二、企业数据资产入表的参与主体 1、企业内部参与部门 2、企业外部参与机构 三、企业数据资产入表的一…

瑞_Redis_商户查询缓存_添加Redis缓存缓存更新策略

文章目录 项目介绍1 短信登录2 商户查询缓存2.1 什么是缓存2.1.1 缓存的应用场景2.1.2 为什么要使用缓存2.1.3 Web应用中缓存的作用2.1.4 Web应用中缓存的成本 2.2 添加Redis缓存2.2.1 背景2.2.2 缓存模型和思路2.2.3 代码实现2.2.4 测试附:IDEA控制台输出自动换行设…

阿里云2核2G和2核4G轻量应用服务器优惠价格表,2024年最新报价

阿里云轻量应用服务器2核2G和2核4G配置优惠价格表,轻量2核2G3M带宽61元一年,轻量2核4G4M带宽165元1年,均不限制月流量,阿里云活动链接 aliyunfuwuqi.com/go/aliyun 活动打开如下图: 阿里云轻量应用服务器价格 61元/年…

《QT实用小工具·七》CPU内存显示控件

1、概述 源码放在文章末尾 CPU内存显示控件 项目包含的功能如下: 实时显示当前CPU占用率。实时显示内存使用情况。包括共多少内存、已使用多少内存。全平台通用,包括windows、linux、ARM。发出信号通知占用率和内存使用情况等,以便自行显示…

ubuntu-server部署hive-part1-安装jdk

参照 https://blog.csdn.net/qq_41946216/article/details/134345137 操作系统版本:ubuntu-server-22.04.3 虚拟机:virtualbox7.0 安装jdk 上传解压 以root用户,将jdk上传至/opt目录下 tar zxvf jdk-8u271-linux-x64.tar.gz 配置环境变量…