趁着代码发现了低级错误RuntimeException的潜在可能 简单地回顾下

Exception

Error

OutOfMemoryError 、Virtual MachineError 、NoClassDefFoundError etc.

JVM相关与代码无关

Exception

Unchecked Exception-RuntimeException

IndexOutOfBoundsException 数组越界异常 判断index<size
NullPointerException 空指针异常 if(obj!=null)or Optional
ClassNotFoundException 文件未找到异常
ClassCastException 类型强制转换类型
IllegalArgumentException 非法参数异常

Checked Exception

SQLException、IOException etc. 因为必要try catch or throw所以问题不大

Java异常处理实际应用中的经验与总结:

1、处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理;

2、多重catch块后面加一个catch(Exception)来处理可能会被遗漏的异常;

3、对于不确定的代码,也可以加上try-catch,处理潜在异常;

4、尽量去处理异常,切忌只是简单的调用printStackTrace()去打印输出;

5、具体如何处理异常,要根据不同的业务需求和异常类型去决定;

6、尽量添加finally语句块去释放占用的资源。