Error和Exception

devtools/2024/9/29 14:55:19/

1.异常体系结构

(1)Java把异常当作对象处理,并定义一个基类java.lang.Throwable作为所有异常的超类。

(2)在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error异常Exception

2.什么是异常(Exception)

异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。

这些异常一般由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。

3.异常分类

(1)检查性异常:用户错误或问题引起,程序员无法预见。

(2)运行时异常:可以被程序员避免,在编译时没有出现,只有在程序跑起来出现的异常。

4.错误(Error)

脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译时也检查不到。

(1)Error类对象由Java虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关。

(2)Java虚拟机运行错误(Virtual MachineError),当JVM所需的内存资源不足时,将出现OutOfMemoryError。同时JVM一般会选择终止程序运行。

(3)发生在虚拟机试图执行应用时,如类定义错误(NoClassDefFoundError)、链接错误(LinkageError)。这些错误是不可查的,因为它们在应用程序的控制和处理能力之外,而且绝大多数是程序运行时不允许出现的状况。

5.总结Error和Exception的区别

Error通常是灾难性的,程序无法控制和处理的,当出现这些异常时,Java虚拟机(JVM)一般会选择终止线程;

Exception在程序中尽可能的去处理。


http://www.ppmy.cn/devtools/118733.html

相关文章

传奇修改版本教程:修改版本必知的常用命令代码

相信很多开服的朋友都希望自己能够学会技术,技术不嫌多,会的越多越好,今天我给你们分享的就是修改版本常用的命令代码,希望可以帮助到你 1. 检测命令 CHECKITEM 物品名 数量 ——检测当前人物所带物品及数量CHECKGOLD 数量 ——检…

串、数组和广义表

串、数组和广义表 串:内容受限的线性表 数组、和广义表:线性结构的推广 串(string) 零个或多个任意字符组成的有限序列s(串名)"a1a2a3a4...an(串值) 串长n" 子串:串中任意个连续字符组成的子序列&#…

振弦式土压力计:原理、功能与应用

在现代土木工程中,精确测量土压力是确保结构安全与稳定的关键。然而,这一过程往往充满了挑战,需要高精度的仪器来获取准确的数据。这时,振弦式土压力计便应运而生,成为工程师们手中的“隐形卫士”,在保障工…

nginx实现负载均衡的分发策略

文章目录 分发策略 分发策略 轮询策略 轮询策略是最简单的负载均衡策略之一。Nginx 默认采用轮询方式将请求分发到不同的后端服务器。它将请求按照顺序轮流分配给每个后端服务器,不论服务器当前的负载情况如何。这种策略适合后端服务器性能相近且无太大差异的场景。…

C语言编写一个五子棋游戏-代码实例讲解与分析

编写一个完整的五子棋游戏(Gomoku 或 Gobang)在C语言中是一个相对复杂的任务,因为它涉及到用户界面的处理、游戏逻辑的维护以及可能的AI对手设计。在这里,我将提供一个简化的版本,这个版本将使用控制台来接收用户输入&…

带链的队列,入队,退队,检测带链队列的状态

代码&#xff1a; #include<iostream> using namespace std; template<class T> struct node {T d;node *next;}; template<class T> class linked_Queue {private:node<T> *front;node<T> *rear;public:linked_Queue();void prt_linked_Queue(…

Spring Cloud 工程搭建服务注册_服务发现

文章目录 Spring Cloud 工程搭建服务拆分示例数据库工程搭建构建父子工程创建父工程创建子项目完成两个接口 远程调用实现添加ProductInfo字段定义RestTemplate修改OrderService 服务注册/服务发现 - Eureka注册中心CAP理论常见的注册中心ZookeeperEurekaNacos Eureka 介绍搭建…

git 查看已经commit但是还没有push的所有文件变动内容

你当前在dev分支, 查看dev本地分支和远程分支的差异 git diff origin/dev HEAD --name-only找到对应的文件后利用IDE, Compare With Branch查看 或者找到文件的最近提交记录作比较 git diff d87983d3..ebe72b39显示所有未推送的提交 git log origin/main..HEAD显示最后一次推…