JAVA学习14——异常

目录

异常:

1.异常基本介绍:

2.异常体系图:

3.五大运行时异常:

(1)NullPointerException空指针异常:

(2)AirthmetiException数字运算异常:

(3)ArrayIndexOutOfBoundsException数组下标越界异常:

(4)ClassCastException类型转换异常:

(5)NumberFormatException数字格式不正确异常:

4.异常处理机制:

(1)try-catch-finally(快捷键ctrl+alt+t)

(2)throws:

(3)自定义异常:

1.自定义的步骤:

2.throw和throws的区别:


异常:

1.异常基本介绍:

(1)概念:

Java语言中,将程序执行中发生的不正常情况称为异常。

(2)异常分类:

执行过程中所发生的异常事件可以分为两大类:

2.异常体系图:

3.五大运行时异常:

(1)NullPointerException空指针异常:

当应用程序试图在需要对象的地方使用null时,抛出该异常。

(2)AirthmetiException数字运算异常:

当出现异常的运算条件时,抛出该异常。

(3)ArrayIndexOutOfBoundsException数组下标越界异常:

用非法索引访问数组时抛出的异常,如果索引为负或大于等于数组大小,则该索引为非法索引。

(4)ClassCastException类型转换异常:

当试图将对象强制转换为不是实例的子类时,抛出该异常。

(5)NumberFormatException数字格式不正确异常:

当程序试图将字符串转换为一种数值类型,当该字符串不能转换为适合格式时,抛出该异常。

4.异常处理机制:

(1)try-catch-finally(快捷键ctrl+alt+t)

程序员在代码中捕获发生的异常,自行处理。

  • 如果发生异常了,则异常后面的代码不会执行,直接进入catch块。
  • 如果异常没有发生,则顺序执行try的代码块,不会进入catch。
  • 不管异常是否发生,finally代码块内的代码都执行,finally代码块中的语句在try-catch代码块中的语句执行完之前执行完。
  • 可以有多个catch语句,捕获不同的异常,要求父类异常在后,子类异常在前。
  • try-catch,相当于没有捕获异常,执行finally后程序会直接退出。应用场景:执行一段代码,不管是否发生异常,都必须执行某个业务逻辑。

(2)throws:

将发生的异常抛出,交给调用者来处理,最顶级的处理者就是jvm。

  • 对于编译异常,程序中必须处理,比如try-cach或者throws
  • 对于运行时异常,程序中如果没有处理,默认就是throws的方式处理。
  • 子类重写父类的方法时,对于抛出异常的规定:子类重写的方法,所抛出的异常类型要么和父类抛出的一致,要么为父类抛出异常的子类型(异常体系图)。

(3)自定义异常:

1.自定义的步骤:
  1. 定义类:自定义异常类名,继承Exception或RuntimeException
  2. 如果继承Exception,属于编译异常。
  3. 如果继承RuntimeException,属于运行异常。
2.throw和throws的区别:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

翻译《The Old New Thing》 - Thread messages are eaten by modal loops

Raymond Chen 2005年4月26日 模态消息循环吃掉了线程消息 简要 文章提出了一个常见但也容易被忽视的问题: 线程消息(由 PostThreadMessage 创建)在模态循环中会被 DispatchMessage 丢弃,因为它们没有关联的窗口句柄。建议在创建窗…

2024年好用的几款数据库管理工具

本文主要介绍几款市面上好用的几款支持多种数据库、跨平台的数据库管理工具,包括开源/免费/收费不同的形式。 1. Chat2DB Chat2DB 是一款自2022年9月起开源的AI驱动的数据库管理工具,现如今已经超过了13k的Star。由EasyExcel(31K Star&#…

Linux网络编程---Libevent库

一、简介 Libevent库的特点:开源。精简。跨平台(Windows、Linux、maxos、unix)。专注于网络通信。 二、安装 进入官网下载安装包后拖入虚拟机,压缩包名为 libevent-2.1.11-stable.tar.gz解压:使用命令tar -zxvf libe…

Sy9-dhcp/dns服务配置

前言、 课程需要(进入服务器综合配置使用阶段了),这里还是沿用桌面版的ubuntu来配置dhcp和dns,这里updated了新的版本。2024.5 server端环境: Win11VMS:192.168.105.1192.168.105.128 (ubuntu…

SEED-X:多模态智能助手

SEED-X:多模态智能助手 SEED-X 是一个多模态智能助手,已经将所有的模型和代码开源了!它是一个统一且多用途的多模态基础模型,最新开放了图像编辑模型。 相较于传统的多模态交互框架,SEED-X 具有以下优点:…

OpenHarmony实战开发-如何使用Web组件加载页面

页面加载是Web组件的基本功能。根据页面加载数据来源可以分为三种常用场景,包括加载网络页面、加载本地页面、加载HTML格式的富文本数据。 页面加载过程中,若涉及网络资源获取,需要配置ohos.permission.INTERNET网络访问权限。 加载网络页面…

bugku-mathEnglish

拿到题目得到一串数学题,解出答案得 发现答案全都是1-5的数字,联想到英语中的元音密码解码字典 参照表中字母和前面解出的对应数字,得到flagyuanyinpwd,按格式提交解出题目答案

大模型_基于医疗领域用lora微调ChatDoctor模型

文章目录 ChatDoctor目标方法结果结论收集和准备医患对话数据集创建外部知识数据库具有知识大脑的自主聊天医生的开发模型培训结果数据和模型: 微调推理 ChatDoctor 目标 这项研究的主要目的是通过创建一个在医学建议中具有更高准确性的专业语言模型,来…

创新指南|非凡时代的变革型领导力——五个领导力差异化优势将使高管能够重塑他们的组织

大多数商界领袖现在都明白,我们正在经历一场“伟大的重构”,整个行业、经济和社会都在重塑的时期。然而,考虑到他们面临的短期压力,很少有高管发现自己能够真正应对这些变化,这些变化对他们的组织所需的转型意味着什么…

【Mac】 DSync for mac(文件比较同步工具) v2.7安装教程

软件介绍 DSync是一款文件比较同步工具,通过简便的三步即可完成繁琐的比较、同步操作,您甚至可以通过跳过、删除或反转您选择的文件的复制方向来微调您的同步。这是在Mac上同步文件的最简单方法。 安装教程 1.打开安装包,将「DSync」拖到右…

Merck:mPAGE® Lux SDS-PAGE制胶系统

相对于传统SDS-PAGE制胶工艺,Merck公司的mPAGE Lux制胶系统是一种更快速、简单、安全的替代方法,可实现更具可重现性的结果。mPAGE Lux制胶系统可在90秒内完成小型凝胶固化,而传统方法则需要90分钟以上。该系统采用紫外线照射快速制胶工作流程…

打破 AI 算力天花板,Meta超大规模AI基础设施架构解读

Meta超大规模AI智算基础设施架构设计 摘要 双重 GPU 集群,每群配备 2.4 万个 H100 芯片,分别采用 RoCE 和 InfiniBand 网络连接。LLaMA3 就是在这两个集群上训练出来的;Meta AI 将部署庞大算力集群,拥有 35 万张 H100 GPU&#x…

【字符串】Leetcode 43. 字符串相乘

题目讲解 43. 字符串相乘 算法讲解 class Solution { public:void AddZero(string& temp, int cnt) {while (cnt--) {temp 0;} }string Add(string num1, string num2) {string result;int carry 0;int i num1.size() - 1;int j num2.size() - 1;while (i > 0 ||…

Python学习笔记------处理数据和生成折线图

给定数据: jsonp_1629344292311_69436({"status":0,"msg":"success","data":[{"name":"美国","trend":{"updateDate":["2.22","2.23","2.24",&qu…

select,poll,epoll

在 Linux Socket 服务器短编程时,为了处理大量客户的连接请求,需要使用非阻塞I/O和复用,select,poll 和 epoll 是 Linux API 提供的I/O复用方式。 \selectpollepoll操作方式遍历遍历回调底层实现数组链表哈希表IO效率每次调用都进…

Vue-router使用(配置路径、路由跳转、相关API、多级路由、路由守卫,两种工作模式)

Vue-router使用(配置路径、路由跳转、相关API、多级路由、路由守卫,两种工作模式) 目录 Vue-router使用(配置路径、路由跳转、相关API、多级路由、路由守卫,两种工作模式)安装配置路径路由跳转不携带参数跳转携带参数跳转?形式携带参数地址中直接携带参…

如何设置ddns动态域名服务实现外网访问

在本地搭建好服务器,部署好web网站或其他应用后,需要在外网访问内网时,如何设置动态域名服务ddns,将主机的内网IP端口映射到外网访问,是我们需要面对的一个重要步骤。 内网发布外网,常见的有两种方案&…

KAN:Kolmogorov–Arnold Networks

KAN: Kolmogorov–Arnold Networks 论文链接:https://arxiv.org/abs/2404.19756 代码链接:https://github.com/KindXiaoming/pykan 项目链接:https://kindxiaoming.github.io/pykan/intro.html Abstract 受Kolmogorov-Arnold表示定理的启…

FX95GT FX505GT windows 11 触摸板安装

FX95GT FX505GT windows 11 触摸板驱动安装 如果正常使用 exe 文件安装不上,请在 ‘设置’ 》 ‘系统信息 ’》 驱动下载地址 如果正常使用 exe 文件安装不上,请在 ‘设置’ 》 ‘系统信息 ’》 高级系统设置 设备管理 在电脑上点右键,选择…

光端机(2)——光纤通信学习笔记九

学习笔记里面只关注基本原理和概念,复杂的公式和推导都没有涉及 光端机 光发射机 作用:实现电光转换。将来自电端机的电信号对光源发出的光波进行调制,然后将调制好的光信号耦合到光线中传输。 基本性能要求 1.合适的发光波长(光…
最新文章