Java-基础-1.异常

news2024/11/17 13:19:41

一:异常架构

在这里插入图片描述

  1. Error 类层次描述了 Java 运行时系统内部错误和资源耗尽错
    误。这类错误是我们无法控制的,同时也是非常罕见的错误。所以在编程中,不去处理这类错误。Error 表明系统 JVM 已经处于不可恢复的崩溃状态中。我们不需要管他。 如:写代码时突然断电,或者内存溢出。
  2. Exception:所有异常的父类,其子类对应了各种各样可能出现的异常事件,一般需要用户显示地声明或捕获。
    2.1 Runtime Exception
    Runtime Exception类是 Exception 类的子类,叫做运行时异常,Java 中的所有运行时异常都会直接或者间接地继承自 RuntimeException 类。
    2.2 CheckedException
    Java 中凡是继承自 Exception,而不继承自 RuntimeException 类的异常都是非运行
    时异常,也叫检查时异常。 如:IOException。 必须要对其进行处理,否则无法通过
    编译。

二:异常代码

1. 捕获。

try代码段包含可能产生例外的代码
try代码段后跟有一个或多个catch代码段
每个catch代码段声明其能处理的一种特定类型的异常,进行捕获并提供处
理的方法
当异常发生时,程序会中止当前的流程,根据获取异常的类型去执行相应
的catch代码段
一个 try 后面可以跟多个 catch,但不管多少个, 最多只会有一个catch 块被
执行。
catch捕获异常需要从小到大捕获(先子类再父类)
finally段的代码无论是否发生异常都有执行
在这里插入图片描述

2. 抛出

在产生异常的方法声明后面写上 throws 某一个 Exception 类型,如 throws
IOException ,将异常抛出到外面一层去。
在这里插入图片描述

3. 编写异常类

  1. 通过继承java.lang.Exception类声明自己的异常类
  2. 在方法适当的位置生成自定义异常的实例,并用throw语句抛出
  3. 在方法声明部分用throws语句声明该方法可能抛出的异常
    在这里插入图片描述

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

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

相关文章

电商前台项目(五):完成加入购物车功能和购物车页面

Vue2项目前台开发:第五章一、加入购物车1.路由跳转前先发请求把商品数据给服务器(1)观察接口文档(2)写接口(3)dispatch调用接口传数据(4)判断服务器是否已经收到商品数据…

Spring-相关概念入门

Spring-相关概念&入门 2,Spring相关概念 2.1 初识Spring 在这一节,主要通过以下两个点来了解下Spring: 2.1.1 Spring家族 官网:https://spring.io,从官网我们可以大概了解到: Spring能做什么:用以开发web、微服…

六、附近商户,连续签到,UV统计

文章目录附近商户GEO的基本用法导入店铺数据到GEO实现附近商户功能签到BitMap的基本用法实现签到功能实现连续签到统计功能补充:Java中>>和>>>的区别UV统计HyperLogLog的基本用法测试百万数据的统计官方命令文档:https://redis.io/comman…

OpenGLES(一)——介绍

一、OpenGL介绍 OpenGL(全写Open Graphics Library)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。     O…

六、创建Gitee仓库和提交代码

1、创建仓库 1.1、创建远程仓库 (1)登录Gitee.com,点击右上角 号,再点击新建仓库。 (2)填写仓库名称,设置公开(一般指开源项目)或者私有,其他默认(也可以根据自己需要选择) (3)这里要勾选设置模板,Readme文件。(如果…

Java I/O 流详解(Basic I/O)

目录 1、Java Basic I/O 中的字节流:Byte Streams 2、Java Basic I/O 中的字符流:Character Streams 3、Java Basic I/O 中的缓冲流:Buffered Streams 4、Java Basic I/O 中的打印流:PrintStream (数据扫描和格式化…

网易二面:CPU狂飙900%,该怎么处理?

说在前面 社群一位小伙伴面试了 网易,遇到了一个 性能类的面试题: CPU飙升900%,该怎么处理? 可惜的是,以上的问题,这个小伙没有回答理想。 最终,导致他网易之路,终止在二面&…

【蓝桥杯】Python字符串处理和应用

前言: 本文侧重于通过实战训练来提高字符串的处理能力,可以先行学习一下我之前的文章:蓝桥杯Python快速入门(4) ,学习完基础知识再来刷题才会事半功倍! 字符串处理 # 字符串切片 str1"1…

优秀码农选择对象详细指南,看完记得要实战噢

2023年了,你是否已到了法定年纪,那么这一篇优秀码农选择对象的详细指南,你一定用得到,看完记得感谢狗哥哦! 目录 一、对于婚姻先来思考这么几条 1. 太快决定结婚? 2. 一方或双方急于结婚? 3.…

【go语言入门教程】——1. go语言介绍及安装

目 录1. go 语言简介2. go 语言安装2.1 下载安装包2.2 安装 go2.3 验证安装结果3. 使用 VS Code 运行 go 程序1. go 语言简介 go的产生 go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 go 是从 2007 年末由 Robert Griesemer, Rob Pike, Ken…

Linux系统常见问题总结(持续更新)

目录一,vim安装与设置1,安装2,配置二,Found a swap file by the name三,docker启动失败:Job for docker.service failed because the control process exited with error四,docker-compose安装r…

JavaScript基础知识点整理(一)——运算符比较、闭包、深浅拷贝、原型、

内容主要涉及JavaScript:运算符比较、闭包、深浅拷贝、原型。 JavaScript闭包、原型、深浅拷贝1、 和 的差异2、JavaScript闭包3、JavaScript深浅拷贝3.1、浅拷贝3.2、深拷贝4、JavaScript原型1、 和 的差异 对于而言,若对比双方的类型不一样的话&…

MicroBlaze系列教程(2):AXI_INTC的使用

文章目录 @[TOC]AXI_INTC简介常用函数使用示例参考资料工程下载本文是Xilinx MicroBlaze系列教程的第1篇文章。 AXI_INTC简介 AXI_INTC中断控制器用于将多路中断信号按照优先级输出一路给处理器,支持AXI4-Lite总线,最多支持32个中断输入,中断输入可配置为边沿触发或电平触发…

【vuex】一.vue.js的基本指令;二.vue.js全家桶开发;三.vuex

目录 一.vue.js的基本指令 1.Vue的作用:快速的构建前端页面(封装了html、css、js),以工程化的方式进行前端的开发 2.Vue的核心: (1)组件化: (2)数据的双…

shell执行脚本的方法及环境变量

执行脚本的方法 (1)bash ./filename.sh(产生子进程,再运行,使用当前指定的bash shell去运行) (2)./filename.sh(产生子进程,再运行,使用脚本里面指…

vue3 手撕日历控件

vue制作日历控件 效果如下&#xff1a; <template><div class"cal_con" style"margin-left:200px"><div class"cal_header"><!-- 顶部左侧 --><div class"cal_header_left"><div class"cal_he…

STL分析(十 hash、function type_traits、cout、move )

hash function 假定存在一个Customer类 class Customer{ public:string fname, lname;int no; };其哈希函数存在三种方式 //方式一&#xff1a;创建可调用类型 class CustomerHash { public:std::size_t operator()(const Customer& c) const{return ......} };unordere…

Android 签名基础知识

目录Android 为什么要签名keystore的生成&#xff1a;keystore信息的查看参数说明&#xff1a;Android 怎么签名使用 jarsigner 签名如何查找 jdk 位置签名时遇到的问题查看 apk 是否签名查看 Apk 的MD5值以及MD5不显示时的解决办法缺少 xx.RSA 文件的原因V1 vs V2Android 为什…

Coolify系列-解决局域网主机突然连不了虚拟机

开始之前&#xff0c;我们需要确保配置一切正常&#xff0c;原始配置参考下文 Coolify系列-手把手教学解决局域网局域网中的其他主机访问虚拟机以及docker服务 如果是之前已经配置好的&#xff0c;突然无法访问了&#xff0c;采取以下方式进行排查操作 在虚拟机执行 ifconf…

【GD32F427开发板试用】基于蓝牙的远程步进电机控制

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动&#xff0c;更多开发板试用活动请关注极术社区网站。作者&#xff1a;寒冰1988 一、前言 接上篇文章【GD32F427开发板试用】基于蓝牙模块的远程点灯演示&#xff0c;本篇是第二篇&#xff0c;基于调通的蓝牙模块添…