Java中常见的异常类型

article/2025/10/22 1:14:58

异常类型

在 Java 中所有异常类型都是内置类 java.lang.Throwable 类的子类,即 Throwable 位于异常类层次结构的顶层。Throwable 类下有两个异常分支 Exception 和 Error,如图 1 所示。

Throwable 类是所有异常和错误的超类,下面有 Error 和 Exception 两个子类分别表示错误和异常。其中异常类 Exception 又分为运行时异常和非运行时异常,这两种异常有很大的区别,也称为不检查异常(Unchecked Exception)和检查异常(Checked Exception)。

  • Exception 类用于用户程序可能出现的异常情况,它也是用来创建自定义异常类型类的类。
  • Error 定义了在通常环境下不希望被程序捕获的异常。Error 类型的异常用于 Java 运行时由系统显示与运行时系统本身有关的错误。堆栈溢出是这种错误的一例。
  • 本章不讨论关于 Error 类型的异常处理,因为它们通常是灾难性的致命错误,不是程序可以控制的。本章接下来的内容将讨论 Exception 类型的异常处理。


运行时异常都是 RuntimeException 类及其子类异常,如 NullPointerException、IndexOutOfBoundsException 等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这类异常的发生。

非运行时异常是指 RuntimeException 以外的异常,类型上都属于 Exception 类及其子类。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。如 IOException、ClassNotFoundException 等以及用户自定义的 Exception 异常,一般情况下不自定义检查异常。表 1 列出了一些常见的异常类型及它们的作用。

表1 Java中常见的异常类型
异常类型说明
Exception异常层次结构的根类
RuntimeException运行时异常,多数 java.lang 异常的根类
ArithmeticException算术谱误异常,如以零做除数
ArraylndexOutOfBoundException数组大小小于或大于实际的数组大小
NullPointerException尝试访问 null 对象成员,空指针异常
ClassNotFoundException不能加载所需的类
NumberF ormatException数字转化格式异常,比如字符串到 float 型数字的转换无效
IOExceptionI/O 异常的根类
F ileN otF oundException找不到文件
EOFException文件结束
InterruptedException线程中断
IllegalArgumentException方法接收到非法参数
ClassCastException类型转换异常
SQLException操作数据库异常

http://chatgpt.dhexx.cn/article/M9G2URY0.shtml

相关文章

Java常见的10个异常

1、NullPointerException: 空指针异常,当操作一个 null 对象的方法或属性时会抛出这个异常。是一个很头疼的异常,因为它是运行时异常,不需要手动捕获,但运行时碰到这个异常会中断程序。 2、OutOfMemoryError&#xff1…

MFC程序

第一个MFC 界面程序 创建C 空项目 #include <afxwin.h> #include <atlimage.h> #include "resource.h"//继承一个模态框 每一个窗口 对应一个 类 class Login :public CDialog {private:HICON h_icon;//图标类public://构造函数 并且 调用 父类的构造函…

最全的基于MFC的ActiveX控件开发教程

转自&#xff1a;http://www.cnblogs.com/qguohog/archive/2013/01/22/2871805.html 浏览器插件之ActiveX开发&#xff08;一&#xff09; 一般的Web应用对于浏览器插件能不使用的建议尽量不使用&#xff0c;因为其涉及到安全问题以及影响用户安装&#xff08;或自动下载注册安…

MFC经验

MFC框架各部分指针获取方式: 记住&#xff0c;是获取指针 MFC消息流程图: string CString char* 的互相转换: string 转 CString   CString.Format("%s", string.c_str()); //用c_str()比data()好    char 转 CString   CString.Format("%s",…

C++ MFC程序入门

1. 选择“MFC应用程序”,命名后选下一步 2. 点“下一步” 3. 选择“基于对话框” 4. 仅勾选“主框架”

MFC系列 - 第一个MFC入门程序

MFC&#xff0c;多年开发和教学&#xff0c;这门课程&#xff0c;新课改决定将它砍掉&#xff0c;Qt也是我们的趋势&#xff0c;同时在我的Qt系列中详细讲解了Qt的系列教学。MFC虽然很古老&#xff0c;但是还是得佩服微软搞得这套框架&#xff0c;让一代又一代Windows程序员无不…

MFC ActiveX (ocx)控件的开发

前言 ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼&#xff0c;其中主要的技术是组件对象模型&#xff08;COM&#xff09;。 ActiveX控件是一种实现了一系列特定接口而使其在使用和外观上更象一个控件的COM组件。ActiveX控件这种技术涉及到了几乎所有的CO…

开发基于MFC的应用程序

开发基于MFC的应用程序 本篇将介绍如何开发基于MFC的应用程序。 具体步骤如下&#xff1a; 一&#xff1a;启用VS2019编辑器。 二&#xff1a;点击文件—>新建—>项目 三&#xff1a;MFC应用—>下一步 四&#xff1a;添加项目名称—>创建 五&#xff1a;选择基于对…

MFC简介

1.API Wndows操作系统为我们编写Windows应用程序提供的接口函数----API&#xff0c; //Windows中播放声音的API函数 //PlaySound需要的头文件和库文件 #include <mmsystem.h> #pragma comment(lib, "WINMM.LIB")BOOL PlaySound(LPCSTR pszSound, HMODULE hmo…

C++ mfc

以下是我从其他网站中学的内容&#xff0c;后有相应的网站学习链接地址&#xff0c;可供学习 1.选择菜单项File->New->Project&#xff0c;弹出“New Project”对话框。 2.左侧面板中Installed Templated的Visual C下选择MFC&#xff0c;中间窗口中选择MFC Application&a…

MFC教程

以下是我从其他网站中学的内容&#xff0c;后有相应的网站学习链接地址&#xff0c;可供学习 1.选择菜单项File->New->Project&#xff0c;弹出“New Project”对话框。 2.左侧面板中Installed Templated的Visual C下选择MFC&#xff0c;中间窗口中选择MFC Application&…

MFC简要介绍

一、概念 MFC(MicrosoftFoundationClasses)是微软基础类库的简称&#xff0c;是微软公司实现的一个c类库&#xff0c;主要封装了大部分的windows API函数&#xff0c;vc是 微软公司开发的c/c的集成开发环境&#xff0c;所谓集成开发环境&#xff0c;就是说利用它可以编辑&#…

MFC入门小项目

之前学习MFC的时候就是三天打鱼两天晒网&#xff0c;什么都不记&#xff0c;脑子也不转&#xff0c;完全是代码的搬运工。这次又要从头开始&#xff0c;索性写个博客了。截至目前断断续续更了三十篇blog&#xff0c;文笔依然如此拙劣&#xff0c;实属羞愧。技术尚且肤浅&#x…

C++ MFC简介

介绍MFC之前&#xff0c;需要先介绍几个MFC的概念。 1) API Windows操作系统提供了各种各样的函数&#xff0c;以方便我们开发Windows应用程序。这些程序是Windows操作系统提供给应用程序编程的接口&#xff08;Application Programming Interface&#xff09;,简称为API函数…

一、MFC介绍

一、什么是MFC MFC(全称:Microsoft Foundation Classes),微软基础类库。他封装了Windows应用程序的各种API以及相关机制的c++类库。 1、特点: (1)开发效率高 (2)程序执行效率高,相对C# (3)迁移性差(仅支持Windows)相对QT 二、MFC程序介绍 1、MFC类库常用头…

VS2015之博大精深的MFC项目开发(一)

VS2015之博大精深的MFC项目开发&#xff08;一&#xff09; 第一章 MFC基础篇1、MFC01-2&#xff1a;Win32程序资源管理1.1 讲解MessageBox&#xff08;在windows中如何输出&#xff09;1.2 给我们的软件插入一个图标1.3 对话框程序是如何建立的&#xff08;在windows中如何输入…

简单MFC程序开发-C++反编译肉鸡养成

目录 一、需求 二、程序效果 效果1&#xff1a;鼠标左键点击&#xff0c;显示坐标 效果2&#xff1a;按下按键&#xff0c;显示键值 三、实现过程 1.创建MFC程序 2.修改添加功能 2.1 修改标题 2.2 增加鼠标消息 2.3 增加键盘消息 2.4 显示文字函数 2.5 编译生成exe 一…

MFC应用程序开发教程1

以下为本人学习笔记 原视频&#xff1a;黑马程序员MFC教程 一、基础概念 SDK&#xff1a;软件开发工具包&#xff08;Software Development Kit&#xff09;&#xff0c;第三方工具API&#xff1a;Windows擦欧总系统提供给应用程序编程的接口窗口&#xff1a;一个Windows应用…

MFC程序开发概述

MFC程序开发概述 一&#xff1a;MFC类库的产生与发展 在Microsoft推出Windows 3.0之后&#xff0c;Windows操作系统受到越来越多的人的青睐。但是不久&#xff0c;开发人员开发撰写Windows 应用程序是重复&#xff0c;厌烦的过程&#xff0c;而且效率极低。因为每一个窗口都需…