java八股文面试[java基础]——异常

 

自定义异常:

 

 

异常Exception

是指程序运行时, 由于输入错误、网络、程序逻辑等原因导致运行时出现的问题。出现异常时,程序会暂时中断执行,并根据产生异常的原因,创建对应异常类型的异常对象,并抛出给JVM捕获处理;
1.Java中的常见异常:
1.NullPointerException空指针异常:调用未实例化的null引用,引发该异常。

2.ClassNotFoundException类无法找到异常:按照类的完全限定名加载一个不存在的类(例如反射) ,引发该异常。

3.NumberFormatException数字格式化异常:将字符串转换为数字时,如果该字符串中包含非数字内容,引发该异常。

4.IndexOutOfBoundsException下标越界异常:数组或字符串下标超出范围时,引发该异常。

5.IllegalArgumentException不合法参数异常:传入参数不合法,引发该异常。

6.ClassCastException类型转换异常:转换不符合的Class类型,引发该异常

7.SQLException SQL异常:操作数据库时, SQL语法错误,引发该异常;l0Exception读写异常:对文件流进行I0读写操作发生错误时,引发该异常;

8.NoSuchMethodException方法不存在异常:找不到调用方法,引发该异常;

 


Error和Exception区别是什么
1.Error类型的错误通常为虚拟机相关错误,如系统崩溃,内存不足,堆栈溢出等,编译器不会对这类错误进行检测,JAVA应用程序也不应对这类错误进行捕获,-一旦这类错误发生,应用程序通常会被终止,仅靠应用程序本身无法恢复;

2.Exception类型的异常是可以在应用程序中进行捕获并处理的,通常遇到这种错误,应对其进行处理,使应用程序可以继续正常运行。1

throw和throws的区别
1.throw关键字用来地出方法或代码块中的异常对象,检查异常和非检查异常都可以被抛出,在方法内部使用;

2.throws关键字用来标识该方法可能地出的异常类型列表,在方法定义时,在参数列表之后与方法体之前进行定义

检查型异常和非检查型异常
继承Exerion类的异常是受检型异常.都需要使ry.catch和nal关健字在编译阶段进行处理,否则会出现编译器报错,

RuntimeException的异常是非受检型异常,则不需要处理。
 

知识来源:

【基础】java中的异常体系_哔哩哔哩_bilibili

【2023年面试】java中的异常处理机制是什么_哔哩哔哩_bilibili

【2023年面试】自定义异常在生产中如何应用_哔哩哔哩_bilibili

Java中的异常_java异常_大西瓜写java、C#、.NET的博客-CSDN博客

http://c.biancheng.net/view/1038.html

Java异常详解 - 知乎

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

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

相关文章

C++笔记之设计模式:setter函数、依赖注入

C笔记之设计模式:setter函数、依赖注入 参考笔记: 1.C笔记之静态成员函数可以在类外部访问私有构造函数吗? 2.C笔记之设计模式:setter函数、依赖注入 3.C笔记之两个类的实例之间传递参数——通过构造函数传递类对象的方法详细探究…

MyBatis入门配置及CURD实现

目录 一、MyBatis简介 1. 什么是 MyBatis ? 2. MyBatis的特性 3. 什么是持久层框架? 二、MyBatis环境配置 2.1 创建maven工程 2.2 导入相关pom依赖 2.3 导入jdbc配置文件 2.4 Mybatis相关插件安装 3.5 Mybatis-cfg.xml 核心配置 2.6 引入Log4j2日志文件…

stm32基于HAL库驱动外部SPI flash制作虚拟U盘

stm32基于HAL库驱动外部SPI flash制作虚拟U盘 📌参考文章:https://xiaozhuanlan.com/topic/6058234791🎞实现效果演示: 🔖上图中的读到的FLASH_ID所指的是针对不同容量,所对应的ID。 //W25X/Q不同容量对应…

Docker安装ES+kibana8.9.1

参考:基于Docker安装Elasticsearch【保姆级教程、内含图解】_docker elasticsearch_Acloasia的博客-CSDN博客 创建网络 docker network create es-net 基于Docker安装Elasticsearch 拉取镜像 docker pull elasticsearch:8.9.1 挂载文件 mkdir -p /usr/local/e…

ubuntu下自启动设置,为了开机自启动launch文件

1、书写sh脚本文件 每隔5秒钟启动一个launch文件,也可以直接在一个launch文件中启动多个,这里为了确保启动顺利,添加了一些延时 #! /bin/bash ### BEGIN INIT sleep 5 gnome-terminal -- bash -c "source /opt/ros/melodic/setup.bash…

c语言每日一练(11)

前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…

Jira vs Trello:项目管理的深层巅峰对决

引言 项目管理在现代企业运作中起着至关重要的作用。从跨国公司的巨大项目,到创业公司的快速反应,再到个人的日常任务管理,一个好的项目管理工具可以有效地跟踪进度,优化资源分配,确保项目在预定时间内完成。今天&…

【C++杂货铺】探索vector的底层实现

文章目录 一、STL1.1 什么是STL?1.2 STL的版本1.3 STL的六大组件 二、vector的介绍及使用2.1 vector的介绍2.2 vector的使用2.2.1 vector的定义2.2.2 vector iterator2.2.3 vector空间增长问题2.2.4 vector增删查改 2.3 vector\<char\> 可以替代 string 嘛&#xff1f; …

Docker容器:本地私有仓库、harbor私有仓库部署与管理

文章目录 一.本地私有仓库1.本地私有仓库概述2.搭建本地私有仓库3.容器重启策略简介 二.harbor私有仓库部署与管理1.什么是harbor2.Harbor的特性3、Harbor的构成4.Harbor私有仓库架构及数据流向5.harbor部署及配置&#xff08;192.168.198.11&#xff09;&#xff08;1&#xf…

RT-Thread内核学习

内核框架 内核是操作系统最基础也是最重要的部分&#xff0c;内核处于硬件层之上&#xff0c;内核部分包括内核库、实时内核实现。 内核库是为了保证内核能够独立运行的一套小型的类似C库的函数实现子集。这部分根据编译器不同自带C库的情况也会不同。 当使用GNU GCC编译器时&…

自己实现 SpringMVC 底层机制 系列之-实现任务阶段 6-完成控制器方法获取参数-@RequestParam

&#x1f600;前言 自己实现 SpringMVC 底层机制 系列之-实现任务阶段 6-完成控制器方法获取参数-RequestParam &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&#xff0c;希望我的文章可以帮助到大家&#xff0c…

python爬虫的js逆向入门到进阶教程文章分享汇总~持续更新

目录 一、内容介绍二 、专栏内容-持续更新1、JS逆向入门2、Js逆向进阶3、爬虫基础知识4、工具与安装5、漫星内容分享 三、星球使用四、b站up主视频推荐 一、内容介绍 二 、专栏内容-持续更新 1、JS逆向入门 2023-08-25》11.常见加密>xx音乐RSA加密 https://articles.zsxq.c…