首页 > 编程语言 >Java中的异常处理

Java中的异常处理

时间:2023-06-28 11:45:19浏览次数:38  
标签:Java 错误 处理 子类 虚拟机 异常

Java异常类层次结构图

 

在Java中,所有的异常都有一个共同的祖先java.lang包中的Throwable类。Throwable:有两个重要的子类:

Exception(异常)Error(错误),二者都是Java异常处理的重要子类,各自都包含大量子类。

 

Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行

的操作无关,而表示代码运行时JVM(Java虚拟机)出现的问题。例如,Java虚拟机运行错误

(Virtual MachineError),当JVM不再有继续执行操作所需的内存资源时,将出现OutOfMemoryError。

这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。

这些错误表示故障发生于虚拟机自身、或者发生在虚拟机视图执行应用时,如Java虚拟机运行错误

(Virtual MachineError)、类定义错误(NoClassDefFoundError)等。这些错误是不可查的,因为

它们在应用程序的控制和处理能力之外,而且绝大多数是程序运行时不允许出现的状况。对于设计

合理的应用程序来说,即使确实发生了错误,本质上也不应该试图去处理它所引起的异常状况。在Java

中,错误通过Error的子类描述。

 

Exception(异常):是程序本身可以处理的异常。Exception类有一个重要的子类RuntimeException

RuntimeException异常由Java虚拟机抛出。

 

标签:Java,错误,处理,子类,虚拟机,异常
From: https://www.cnblogs.com/zhncnblogs/p/17510997.html

相关文章

  • java联合索引(复合索引)的好处包括:
    联合索引(复合索引)的好处包括:支持多列查询:联合索引可以用于满足多个列的查询条件,避免了在多个单列索引之间的多次查找和合并。覆盖索引优化:如果联合索引包含了查询需要的所有列,即成为覆盖索引,可以避免回表操作,减少IO开销,提高查询性能。有序性优势:联合索引的顺序可以影响查询的性能。......
  • linux 安装java环境
    第一步:下载jdkhttps://www.oracle.com/java/technologies/downloads/#java8需要登录才能下载第二步:创建jdk安装文件夹#在/usr/local下创建java文件夹cd/usr/localmkdirjava#进入java文件夹目录下cdjava第三步:上传下载好的J......
  • Java学习——变量和常量的相关知识
    变量inta=1,b=2,c=3;//不推荐Stringname="徐菲菲";charx='X';doublepi=3.14;变量作用域类变量(静态变量)定义在类中、方法之外的变量,并且使用static关键字修饰,作用域为整个类,可以被类中的任何方法、构造方法和语句块访问,静态变量的值在程序运行期间只有一个副本。......
  • U8备份账套恢复为不同账套号,进行删除操作数据时提示:当前对应的账套不存在处理方法
    现象:U8备份账套恢复为不同账套号,进行删除操作数据时提示:当前对应的账套不存在 处理方法:该账套的原始账套存在协同,我们在协同中添加一个账套协同即可解决,使用完成后可以删除 ......
  • java调用python
    importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassDemo1{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubProcessproc;try{proc=Runti......
  • Java学习——jdk的卸载和安装
    一、卸载jdk删除java的安装目录删除环境变量里面的JAVA_HOME删除path目录下的关于java的目录dos输入java-version检验卸载结果二、安装jdk百度搜索jdk8找到下载地址(https://www.oracle.com/cn/java/technologies/downloads/archive/)选择对应版本同意协......
  • 解决:远程连接mysql:报异常,1044 - Access denied for user ‘root‘@‘%‘ to database
    Navicat报错:使用Navicat远程连接,Docker中的mysql5.6时报异常,:1044-Accessdeniedforuser'root'@'%'todatabase'xxx'问题原因:(1)根本原因:远程连接用户权限不足!(2)直接原因:应该是创建远程连接用户‘root@%’时,没有添加访问数据库的权限。解决办法:#这里为刚才创建的root@......
  • 《深入理解Java虚拟机第3版》垃圾收集器与内存分配策略、虚拟机性能监控故障处理工具
    目录往期博客:Java课堂篇3_初识JMM、常量池简单理解(字符串常量池、静态常量池、大整型常量池)为什么要了解垃圾收集和内存分配?如何判断对象已死?引用计数算法可达性分析算法JDK1.2之后引用的扩充回收方法区垃圾收集算法分代收集理论标记清除标记复制标记整理对象分配虚拟机......
  • 编程初学者入门5_键盘输入5个人的身高(米),求他们的平均身高(米)。(C的没问题,试着用Java写
    写在前面此系列博客为牛客网编程初学者入门题目小结,题目很基础不常用的知识容易遗忘,为了边复习c语言和学习Java,后面系列博客将采用c、c++、Java双语言版记录现在位置(72/140),虽然我走的很慢,但我仍在前进~题目描述从键盘输入5个人的身高(米),求他们的平均身高(米)。输入描述:一行,连续输......
  • 编程初学者入门6_简单分支问题+Java在OJ中实现多组输入sc.hasNextInt()函数
    题目KiKi想知道这学期他的学习情况,BoBo老师告诉他这学期挂的科目累计的学分,根据所挂学分,判断KiKi学习情况,10分以上:很危险(Danger++),4~9分:危险(Danger),0~3:Good。输入描述:一行,一个整数(0~30),表示KiKi挂的科目累计的学分。输出描述:一行,根据输入的挂科学分,输出相应学习情况(Danger+......