异常概述
所谓“程序”,就是按照次序,一步一步执行的指令;
那么“异常”,就是程序没有按我们期待的次序执行时,程序给出的提示。
在JAVA语言中,通过定义不同的异常类型,来提示不同的出现异常的场景,这样一来,随着经验的积累,就可以快速定位异常出现的原因了。
JAVA语言的异常类型总体如下:
Throwable:异常的顶层父类
Error:往往是硬件相关的异常,比如内存溢出,通常不需要我们去特殊处理
Exception:程序逻辑的异常
RuntimeException:运行时异常(非受查异常),往往是我们自己写的主代码的逻辑出现了错误,如IndexOutOfBoundsException(数组越界异常),ArithmeticException(算数异常),不可预知,不需要提前处理。
受查异常:需要提前处理(try catch 或 throws)的异常,此类异常往往是发生在某项具体业务操作,如IO相关的异常,异常出现时并不影响我们主逻辑代码,因此定义此类异常的目的是,当某个分支业务出现异常时,由主逻辑代码来决定程序接下来的走向。
异常处理
异常处理的本质其实是发生异常后,程序指令走向的“控制权”问题,依据于异常发生后的影响范围,
如果只是在本方法内,那么可以用try catch处理;如果超出了本方法的影响范围,那么就throws抛出异常,让调用方控制。
具体处理方式应该由编码者根据总体业务情景来自行判断
JAVA异常的处理分为以下两种:
try catch:try中发生异常,在catch中决定异常后执行的指令
throws:在方法声明中抛出异常,让调用方处理
总结
异常的本质就是编程语言对于程序出现异常情况时给出的一个标识,区分不同的类型是为了方便我们对待不同的异常给与不同的处理方式;
异常的处理核心就是两点:
1. 定位异常 -- 要打出合理日志
2. 控制异常后指令走向 -- 通过try catch 或 throws
标签:Java,处理,程序,try,catch,异常,throws From: https://www.cnblogs.com/zhengy-001/p/17048026.html