java基础之异常总结(自问自答版本)

news2024/12/23 20:23:34

在这里插入图片描述
1.errors和exception的区别是什么?
二者都是JAVA异常处理的重要子类,各自都包含大量子类
区别:

exception:程序本身可以处理的异常,可以通过catch来进行捕获,遇到这种错误,应对其进行处理,使应用程序可以继续正常运行;exception又可以分为运行时异常和非运行时异常
errors:属于程序无法处理的错误,不可以catch进行捕获

2.throw和throws的区别是什么?

1.throw 关键字用于在方法内部抛出异常。它可以抛出一个已经定义好的异常对象。

throws 关键字用于在方法声明中声明可能抛出的异常。如果一个方法可能抛出异常,但是在方法内部没有使用 throw 关键字抛出,那么在方法声明中使用 throws 关键字声明可能抛出的异常
2.throws可以单独使用,但throw不能;

3.运行时异常和非运行时异常区别是什么?

是否强制要求调用者必须处理此异常,是的话就是非运行时异常

4.try-catch-finally中那个部分可以省略?

catch;
try只适合处理运行时异常,try-catch适合处理运行时异常+普通异常,也就是说如果你用try去处理普通异常却不加以catch处理,编译时不通过的,因为是编译器的硬性规定,普通异常如果选择捕获,则必须用catch显示声明以便于进一步处理,而运行时异常在编译时没有如此规定,所以catch可以省略

5.jvm是如何处理异常的?

Java 字节码中,每个方法对应一个异常表。当程序触发异常时,Java
虚拟机将查找异常表,并依此决定需要将控制流转移至哪个异常处理器之中。Java 代码中的 catch 代码块和 finally
代码块都会生成异常表条目。

6.try-catch-finally中,如果catch中return了,finally还会执行吗?
会,在return前执行

1.finally是在return后面的表达式运算之后执行的,此时并没有返回运算之后的值,而是把值保存起来,不管finally对该值做任何的改变,返回的值都不会改变,依然返回保存起来的值。也就是说方法的返回值是在finally运算之前就确定了的。
2.如果return的数据是引用数据类型,而在finally中对该引用数据类型的属性值的改变起作用,try中的return语句返回的就是在finally中改变后的该属性的值。

7.java常见异常?

java.lang StackOverflowError:堆栈溢出错误
java.lang.OutOfMemoryError:内存不足错误
java.lang.InstantiationError:实例化错误
java.lang.ArrayIndexOutOfBoundsException: 数组索引越界异常
java.lang.NullPointerException:空指针异常

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

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

相关文章

大数据技术之Canal入门篇

大数据技术之Canal入门篇 文章目录大数据技术之Canal入门篇写在前面第 1 章 Canal 入门1.1 什么是 Canal1.2 MySQL 的Binlog1.2.1 什么是 Binlog1.2.2 Binlog 的分类1.3 Canal 的工作原理1.3.1 MySQL 主从复制过程1.3.2 Canal 的工作原理1.4 使用场景第 2 章 MySQL 的准备2.1 创…

作为产品经理,你都是怎样思考问题的?

作为产品经理,我们既不是产品的业务员更不是原型画师,而是伟大的创造者。用户对一个产品的评价可能只有好与坏,而作为产品工作者的我们必须有自己思考产品的视角,透过表现洞察本质。笔者根据自己有限的用户研究与产品设计的工作经…

leetcode_回溯算法

回溯算法刷题总结回溯法理论基础回溯算法的模板组合问题77.组合优化版本216.组合总和III17.电话号码的字母组合组合总和组合总和II分割131.分割回文串93.复原IP地址子集78.子集90.子集II491.递增子序列(和子集问题很像)排列全排列全排列II其他问题332.重…

RK3568平台开发系列讲解(Linux系统篇)伪文件系统目录详细介绍

🚀返回专栏总目录 文章目录 一、procfs文件系统二、sysfs文件系统沉淀、分享、成长,让自己和他人都能有所收获!😄 📢除了专门用于存储设备记录文件的文 件系统外,Linux 内核还提供了procfs、sysfs 等伪文件系统。 伪文件系统存在于内存中,通常不占用硬盘空间,它以文…

QML 键盘事件

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 和鼠标一样,键盘同样也提供了用户交互的能力,所以在介绍完《QML 鼠标事件》之后,是时候深入键盘事件了。 在 QML 中,有一个附加属性 - Keys,是专供可视元素进行按键处理的。当用户按下或释放一个按键时…

DDD:统一语言

目录一、统一语言的作用阐述二、统一语言与领域分析2.1、统一的领域术语2.2、统一的领域行为描述三、统一语言落地执行一、统一语言的作用阐述 【统一语言】,怎么强调都不为过!! 日常沟通中,时常会出现这么一幕:A同学…

第四章 reactive对象的简单实现以及reactive的依赖收集和触发依赖

reactive对象的简单实现 主要通过reactive.spec.ts这个测试案例来实现功能 import { reactive } from "../reactive"describe(reactive,()>{it(happy path,()>{const original {foo:1}const observed reactive(original)expect(observed).not.toBe(origina…

Unity常见面试题详解(持续更新...)

一丶声明、定义、实例化、初始化 1、首先我们来讨论在C/C中的声明和定义.. 1)我们先从函数声明和定义说起... 一般我们在C里都会先定义一个函数,然后再Main函数前将函数声明,比如: //函数声明 int Add(int);int Main {} //函数…

tmux终端复用软件

一、安装[rootpool-100-1-1-159 test]# yum install tmux [rootpool-100-1-1-159 test]# yum search tmux Repository extras is listed more than once in the configuration Last metadata expiration check: 0:33:52 ago on Fri 03 Mar 2023 09:10:34 AM CST.Name Exactly M…

【C++】适配器模式 -- stack/queue/dqueue

一、适配器模式 设计模式 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结;Java 语言非常关注设计模式,而 C 并没有太关注,但是一些常见的设计模式我们还是要学习。 迭代器模式 其实我们在前面学习 strin…

call、apply、bind的区别以及源码实现

首先,需要明确,call()、apply()、bind()这三个方法的作用都是 改变this指向它们之间的不同点在于:call和apply是直接调用的,而bind不会立即调用,需要手动调用(原因在于bind返回的是一个改变了this指向的函数…

请你喝一杯 Corretto?谈一谈 JDK 的新选择

前言如果以20年的时间为限,让我们选出一个影响力最大的程序语言,我的答案应该只有一个 – 那就是 Java。这个1995年诞生的全新的计算机语言,以“一次编写,到处运行”的跨平台特性以及面向对象、泛型编程等现代语言的特性迅速成为了…

Allegro172版本如何通过规则设置检查器件的热平衡问题

Allegro172版本如何通过规则设置检查器件的热平衡问题 在做PCB设计的时候,器件的热平衡问题是必须考虑到的一个设计要点,尤其小封装的阻容器件,热平衡问题没有考虑好,直接影响到装配的可靠性 如下图 小封装器件,一边线宽粗并且铺铜,另外一端是一根细线 Allegro172及以上…

c语言指针怎么理解 第一部分

不理解指针,是因为有人教错了你。 有人告诉你,指针是“指向”某某某的,那就是误导你,给你挖了个坑。初学者小心不要误读这“指向”二字。 第一,“指针”通常用于保存一个地址,这个地址的数据类型在定义指…

ASGCN之依存句法图的构建

文章目录前言1.理论部分1.1 依存句法理论1.2 依存句法分析1.3 依存句法的应用2. 代码实践2.1 数据集2.2 代码实现2.3 效果查看总结前言 本文首先介绍依存句法理论,之后通过代码实现ASGCN中的依存句法图数据的构建。 1.理论部分 1.1 依存句法理论 词与词之间存在主…

Vue3电商项目实战-购物车模块2【04-头部购物车-商品列表-本地、05-头部购物车-删除操作-本地、06-购物车页面-基础布局】

文章目录04-头部购物车-商品列表-本地05-头部购物车-删除操作-本地06-购物车页面-基础布局04-头部购物车-商品列表-本地 目的:根据本地存储的商品获取最新的库存价格和有效状态。 大致步骤: 定义获取最新信息的API定义修改购物车商品信息的mutations定义…

Mybatis工作原理及流程

1、MyBatis介绍 MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和JavaPOJO(PlainOldJavaObjects,普通老式Java对象)为…

OSSFs挂载工具简介

OSSFs挂载工具 OSSFs挂载工具简介 ​ ossfs允许您在Linux系统中将对象存储OSS的存储空间(Bucket)挂载到本地文件系统。挂载完成后,您能够像操作本地文件一样操作OSS的对象(Object),从而实现数据共享。 ​…

RT_Thread Nano 简介, 移植

官网介绍 RT_Thread Nano 1.简介 RT-Thread Nano 是一个极简版的硬实时内核,它是由 C 语言开发,采用面向对象的编程思维,具有良好的代码风格,是一款可裁剪的、抢占式实时多任务的 RTOS。其内存资源占用极小,功能包括…

打怪升级之MFC变量小实验

按惯例,这一篇文章主要还是作者读《深入浅出MFC》整理的一些笔记。不过本次还加上了一些作者自己的理解。 实验的前期准备 做实验前,你最好了解一下MFC的执行流程,从winapp到各类控件的实际变化过程,可以参考博主之前的笔记。 …