JAVA 异常体系

JAVA异常体系超类:Throwable

两个子类:Error(错误),Exception(异常)

异常体系采用的是"继承"。

Error:在程序中无法处理的错误,表示运行应用程序中出现严重错误。

主要是VirtualMachineError(虚拟机错误):

OutOfMemoryError:内存溢出。其中内存溢出又分为

java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: unable to create new native thread
java.lang.OutOfMemoryError: PermGen space(JDK1.7与1.8->Java heap space)
java.lang.OutOfMemoryError: Requested array size exceeds VM limit

需要结合JVM运行时数据区结构知识来理解产生这些异常的原因:以下有两篇不错的博文转载以供深入了解OutOfMemoryError

转自:http://www.cnblogs.com/paddix/p/5309550.htmlhttps://www.cnblogs.com/duanxz/p/4901437.html

StackOverflowError: 当线程请求栈的深度大于虚拟机所允许的深度,将抛出StackOverflowError异常。

以下这篇文章比较好的分析了从 JVM结构分析产生 Error的原因

转自:https://blog.csdn.net/u011936381/article/details/20039103

AWTError:AWT是使用操作系统中的图形函数的抽象窗口工具,AWT组件出错。

Exception:

未完待续

原文地址:https://www.cnblogs.com/dev1ce/p/10682425.html

时间: 2024-07-29 08:04:16

JAVA 异常体系的相关文章

java(异常体系及权限修饰符)

java异常体系 异常的体系: 异常体系: --------| Throwable 所有错误或者异常的父类 --------------| Error(错误) --------------| Exception(异常) 异常一般都通过代码处理 --------------------| 运行时异常: 如果一个方法内部抛出了一个运行时异常,那么方法上 可以声明也可以不 声明,调用者可以以处理也可以不处理. --------------------| 编译时异常(非运行时异常.受检异常): 如果一个

JAVA异常体系

1.异常体系 ----|Throwable 所有错误或异常的父类 --------|Error(错误) --------|Exception(异常)一般能通过代码处理 ------------|运行时异常:方法上可以不声明,调用者可以不处理 ------------|编译时异常:方法上必须要声明,调用者必须要处理 2.为何有差异 运行时异常都是可以通过程序员良好的编程习惯避免的,所以java编译器没有做严格要求.例如:ArithmeticException.NullPointerExceptio

Java基础系列5:深入理解Java异常体系

该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 前言: Java的基本理念是“结构不佳的代码不能运行”. “异常”这个词有“我对此感到意外”的意思.问题出现了,你也许不清楚该如何处理,但你的确知道不应该置之不理:你要停下来,看看是不是有别人或在别的地方,能够处理这个问题.只是在当前的环境中还没有足够的信息来解决这个问题,所以就把这个问题提交到一个更高级别的环境中,在

Java异常体系简析

最近在阅读<Java编程思想>的时候看到了书中对异常的描述,结合自己阅读源码经历,谈谈自己对异常的理解.首先记住下面两句话: 除非你能解决这个异常,否则不要捕获它,如果打算记录错误消息,那么别忘了把它再抛出去. 异常既代表一种错误,又可以代表一个消息. 一.为什么会有异常 这个问题其实不难理解,如果一切都按我们设计好的进行,那么一般(不一般的情况是我们设计的就是有缺陷的)是不会出现异常的,比如说一个除法操作: public int div(int x,int y){ return x/y; }

(3)简单说说java中的异常体系

java异常体系 |--Throwable 实现类描述java的错误和异常 一般交由硬件处理 |--Error(错误)一般不通过代码去处理,一般由硬件保护 |--Exception(异常) |--RuntimeException(运行时异常) |--非运行时异常 多个try-catch语句联用时的顺序 1.顺序执行,从上到下,有一个catch子句匹配之后,后面的自动不在执行 2.如果多个cach内的异常有父子类的关系 一定要,子类异常在上,父类异常在下 自定义异常类型 一般都是提供两个构造参数,

java异常和异常体系

16.异常 16.1程序执行过程中出现的影响程序正常运行的现象. 16.2异常语法 try{ //代码块 }catch(异常类型 e){ }catch(异常类型2 e2){ }...{ }finally{ } 注意:try:表示可能出现异常的代码块 catch:抓取异常 ,并进行处理 可以抓取多个异常,异常的范围要从小到大抓取 并且只会执行第一个匹配的异常类型 finally:最终的,不管是否出现异常,finally中的代码块始终会执行. 除虚拟机停止(system.exit(1))这种情况外

java异常的总结

1.异常概述: 什么是异常? 异常是一个类,用来描述程序运行时出现的不正常现象. 异常的由来: 异常源于现实生活中对于问题的描述,现实生活中的问题也是事物,问题也具有众多属性和行为,比如问题名称. 问题信息.问题原因.问题情况等.所以问题也可以被描述,并封装成对象.而现实生活中具有很多很多具体的问题, 这些问题有共性之处,也有不同之处,所以向上抽取,就会形成一个体系. JAVA中用这样的一个体系来描述现实生活中问题的体系: Object |--Throwable |---Error |----O

深入浅出 Java Concurrency (36): 线程池 part 9 并发操作异常体系[转]

并发包引入的工具类很多方法都会抛出一定的异常,这些异常描述了任务在线程池中执行时发生的例外情况,而通常这些例外需要应用程序进行捕捉和处理. 例如在Future接口中有如下一个API: java.util.concurrent.Future.get(long, TimeUnit) throws InterruptedException, ExecutionException, TimeoutException; 在前面的章节中描述了Future类的具体实现原理.这里不再讨论,但是比较好奇的抛出的三

Java基础——异常体系

在Java中,异常对象都是派生于Throwable类的一个实例,Java的异常体系如下图所示: 所有的异常都是由Throwable继承而来,在下一层立即分解为两个分支,Error和Exception. Error错误:描述了Java运行时系统的内部错误和资源耗尽错误.一般是指虚拟机相关的问题,如系统崩溃,虚拟机出错误等,这种错误无法恢复或不可能捕获,将导致应用程序中断,通常不处理.因为如果出现这样的内部错误,除了通告用户,并尽力使程序安全地终止之外,再也无能为力了. Exception异常:Ja