Error与RuntimeException
一、什么是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相关推荐
- 【总结】Throwable/Error/Exception/RuntimeException区别
[总结]Throwable/Error/Exception/RuntimeException区别 1.JAVA是将所有的错误封装为一个对象,其根本父类为Throwable,有两个子类:Error和Ex ...
- JAVA常见面试题之Error、RuntimeException、CheCkedException
Java中的异常处理机制的简单原理和应用 异常是指java程序运行时(非编译)所发生的非正常情况或错误,与现实生活中的事件很相似,现实生活中的事件可以包含事件发生的时间.地点.人物.情节等信息,可以用 ...
- Java中的Error和Exceptiond的异同点
Error和Exception的异同点: (1)Error类和Exception类都继承超类Java.lang.Throwable (2)Error:一般指与虚拟机相关的问题,如系统崩溃,内存溢出等. ...
- java runtime 异常_Java中RuntimeException和Exception
在java的异常类体系中,Error和RuntimeException是非检查型异常,其他的都是检查型异常. 所有方法都可以在不声明throws的情况下抛出RuntimeException及其子类 不 ...
- mfc try catch 捕获并显示_“全栈2019”Java异常第十七章:Error该不该被捕获?
难度 初级 学习时间 30分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 友情提示 本教学属于系列教学,内容具有连贯性,本章使用到的内 ...
- java常见异常类图(分类了Error/RuntimeExecption、check Exception)
Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息. Exception: ...
- java lang runtimeexception什么意思_Java基础之异常
1.异常结构 Java中异常的父类接口为Throwable,它的两个实现类为Error和Exception.根据Javac对异常的分类可以将异常划分为两类,如下所示: 不可检查异常:Error 和 R ...
- java中字输入输出异常_Java:详解Java中的异常(Error与Exception)
一. 异常机制的概述 异常机制是指当程序出现错误后,程序如何处理.具体来说,异常机制提供了程序退出的安全通道.当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器. 程序错误分为三种:1 ...
- Exception和Error
Java Exception和Error Exception和Error的联系 Exception和Error都继承自Throwable. RuntimeException继承自Exception. ...
最新文章
- asp.net ajax学习系列功能强大的UpdatePanel控件
- 遇见BUG(4)不要默认电平标准!
- module ‘mxnet.symbol‘ has no attribute ‘LSoftmax‘
- OJ系列之---字符串分割
- 图像“位操作”有什么用?
- 【文章】论文写作知识积累
- Java基础—序列化关键字transient
- Django模版(一)
- elk 搜索 语法_ELK:kibana使用的lucene查询语法
- 【BZOJ1999】树网的核,求树的直径+单调队列乱搞
- P问题 NP问题 和 NPC问题
- HashTable与ConcurrentHashMap的区别
- paip.关于动画特效原理 html js 框架总结
- 按键精灵怎么用 android,按键精灵安卓版怎么用
- 推荐一个自己喜欢的pycharm主题
- 解决Specifying a namespace in include()withou providing an app_name
- 【Unity3D 灵巧小知识点】☀️ | Unity 移动物体到指定位置的几种方法【精选快捷使用】
- java se 64位_【JavaSERuntime(jre864位版)免费版下载】Java SE Runtime(jre8 64位版) 8.0-ZOL软件下载...
- Java 去除字符串中的空白字符
- “图书管理系统”数据视图
热门文章
- 【Angular】内核
- 虚函数(Virtual Function)与 纯虚函数(Pure Virtual Function)
- OpenCV在图像中添加文字,画点,画直线
- 什么是单页面应用程序
- 动态规划—最长公共子序列
- java中try-catch另外一种用法:try(){}语法使用
- kotlin使用代码javaClass或class.java报错:unresolved reference
- OverFeat4.2的安装和使用
- iOS 项目经验以及APP上架流程 _Dylan
- 第十八章 4string 字符串的合并