本文主要是介绍深入了解Java异常:Exception和RuntimeException的区别和处理方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
异常
概述
异常就是程序出现了不正常的情况
关键字
- try
- catch
- throw
- throws
- finally
在java世界中,异常分两大类:编译时异常和运行时异常
编译时异常是Exception类及其子类,这种问题必须显式处理,否则就会发生错误,无法编译通过
运行时异常是RuntimeException类及其子类,无需显式处理,也可以和编译时异常一起处理
JVM(java虚拟机)处理异常的方式是什么样子的呢?
如果程序出了问题,我们没有做任何处理,最终都是JVM会做默认的处理,处理方式有以下两步
- 把异常的名称,错误原因即异常出现的位置等信息输出在了控制台
- 程序停止运行
注意:
一般在开发中哪里出现异常,我们就在哪里处理,当我们不想在出现异常的位置进行处理时
而是谁调用我时再去处理,我们就应该使用throws关键字
throws关键字就是用来"甩锅"的
允许在某些地方使用throws关键字抛出异常给上级,但是不能无限甩锅,我们一定要在main方法执行之前把异常给处理掉
否则一旦把异常抛给main方法(程序入口)时,程序就会崩溃和终止
关于try…catch执行的逻辑
会把try当中的逻辑全部执行完,不会再执行catch里的语句
如果有问题 ,那么直接再出错的位置跳到catch里语句执行,而不再会执行出错位置后边的逻辑
如果没有使用try…catch处理,就会抛给JVM,程序报错并退出
如果出现多个异常,就写多个catch就可以了
注意: 如果有多个异常有父子关系,那么父类异常就要写在最后边
此时我们就应该实现自己的异常类了,也就是我们需要[ 自定义异常类]
关于异常的API
public static void getMessage() 输出简单的异常信息
public static void printStackTrace() 打印输出全部异常信息
这篇关于深入了解Java异常:Exception和RuntimeException的区别和处理方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!