一、什么是Error

Error用于指示应用程序不应该试图捕获的严重问题。

二、什么是Exception

Exception类及其子类用于指示应用程序需要处理的异常。

三、Error与Exception之间的联系

1.继承联系

Error与Exception都继承java.lang.Throwable(所有错误或异常的超类)。

2.检查异常

未检查异常: Error与RuntimeException及其子类称为未检查异常(未显示提醒的异常),java编译器未检查的代码块,当程序运行时可能出现的异常,在没有try和catch,也没有throws的情况下,仍然可以编译通过。如:OutOfMemoryError(内存溢出异常),StackOverflowError(堆栈溢出时,抛出该错误),ArrayIndexOutOfBoundsException(数组超出排序索引范围时抛出)等异常。

检查异常: 除了Error与RuntimeException及其子类其他都称为检查异常(提醒处理的异常),这类异常如果没有try和catch,也没有throws的情况下,编译是不能通过的。如:TimeoutException(阻塞操作超时时,抛出该异常),IOException(当发生某种 I/O 异常时,抛出此异常)。

四、异常关键字

1.throw: 用来抛出任意异常,在程序内部使用,调用方法不会显示提醒需要处理异常。当抛出异常时,会检查是否有处理异常,有处理即按照处理逻辑运行,未处理时程序将抛出异常,然后终止运行。

2.throws: 用来抛出多个异常,在方法头部中声明,调用方法会提醒处理异常,不处理即不能通过编译。

3.try: 没有出现异常时,运行的代码块(当某行代码产生异常时,当前代码块立即停止运行)。

4.catch: 出现异常时,运行的代码块(出现异常时执行的代码块)。

5.finally: 不管异常是否出现都会执行的代码块,当try和catch里面有return时,finally还是会执行,⚠️ 如果finally中有return时,将返回finally里面的值。

五、Error与RuntimeException异常处理

1.如果程序出现RuntimeException异常,那么一定是程序没有写完善,需要重新修改程序。

2.如果程序出现StackOverflowError,多数情况下是递归调用方法出现了死循环,修改方法递归处理时的判断语句或者设置一个最大循环数。

3.如果程序出现OutOfMemoryError,那么就是内存满了,新的对象无法分配到内存,修改java内存配置参数(具体配置多少内存,需要预估整个应用的使用情况和GC的回收情况)。

Error与RuntimeException相关推荐

  1. 【总结】Throwable/Error/Exception/RuntimeException区别

    [总结]Throwable/Error/Exception/RuntimeException区别 1.JAVA是将所有的错误封装为一个对象,其根本父类为Throwable,有两个子类:Error和Ex ...

  2. JAVA常见面试题之Error、RuntimeException、CheCkedException

    Java中的异常处理机制的简单原理和应用 异常是指java程序运行时(非编译)所发生的非正常情况或错误,与现实生活中的事件很相似,现实生活中的事件可以包含事件发生的时间.地点.人物.情节等信息,可以用 ...

  3. Java中的Error和Exceptiond的异同点

    Error和Exception的异同点: (1)Error类和Exception类都继承超类Java.lang.Throwable (2)Error:一般指与虚拟机相关的问题,如系统崩溃,内存溢出等. ...

  4. java runtime 异常_Java中RuntimeException和Exception

    在java的异常类体系中,Error和RuntimeException是非检查型异常,其他的都是检查型异常. 所有方法都可以在不声明throws的情况下抛出RuntimeException及其子类 不 ...

  5. mfc try catch 捕获并显示_“全栈2019”Java异常第十七章:Error该不该被捕获?

    难度 初级 学习时间 30分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 友情提示 本教学属于系列教学,内容具有连贯性,本章使用到的内 ...

  6. java常见异常类图(分类了Error/RuntimeExecption、check Exception)

    Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息. Exception: ...

  7. java lang runtimeexception什么意思_Java基础之异常

    1.异常结构 Java中异常的父类接口为Throwable,它的两个实现类为Error和Exception.根据Javac对异常的分类可以将异常划分为两类,如下所示: 不可检查异常:Error 和 R ...

  8. java中字输入输出异常_Java:详解Java中的异常(Error与Exception)

    一. 异常机制的概述 异常机制是指当程序出现错误后,程序如何处理.具体来说,异常机制提供了程序退出的安全通道.当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器. 程序错误分为三种:1 ...

  9. Exception和Error

    Java Exception和Error Exception和Error的联系 Exception和Error都继承自Throwable. RuntimeException继承自Exception. ...

最新文章

  1. asp.net ajax学习系列功能强大的UpdatePanel控件
  2. 遇见BUG(4)不要默认电平标准!
  3. module ‘mxnet.symbol‘ has no attribute ‘LSoftmax‘
  4. OJ系列之---字符串分割
  5. 图像“位操作”有什么用?
  6. 【文章】论文写作知识积累
  7. Java基础—序列化关键字transient
  8. Django模版(一)
  9. elk 搜索 语法_ELK:kibana使用的lucene查询语法
  10. 【BZOJ1999】树网的核,求树的直径+单调队列乱搞
  11. P问题 NP问题 和 NPC问题
  12. HashTable与ConcurrentHashMap的区别
  13. paip.关于动画特效原理 html js 框架总结
  14. 按键精灵怎么用 android,按键精灵安卓版怎么用
  15. 推荐一个自己喜欢的pycharm主题
  16. 解决Specifying a namespace in include()withou providing an app_name
  17. 【Unity3D 灵巧小知识点】☀️ | Unity 移动物体到指定位置的几种方法【精选快捷使用】
  18. java se 64位_【JavaSERuntime(jre864位版)免费版下载】Java SE Runtime(jre8 64位版) 8.0-ZOL软件下载...
  19. Java 去除字符串中的空白字符
  20. “图书管理系统”数据视图

热门文章

  1. 【Angular】内核
  2. 虚函数(Virtual Function)与 纯虚函数(Pure Virtual Function)
  3. OpenCV在图像中添加文字,画点,画直线
  4. 什么是单页面应用程序
  5. 动态规划—最长公共子序列
  6. java中try-catch另外一种用法:try(){}语法使用
  7. kotlin使用代码javaClass或class.java报错:unresolved reference
  8. OverFeat4.2的安装和使用
  9. iOS 项目经验以及APP上架流程 _Dylan
  10. 第十八章 4string 字符串的合并