异常
1.软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常
2.异常分为Exception和Error,其中Exception是程序员可以预见的,而Error是不可预见的
3.异常分为运行时异常和非运行时异常
4.运行时异常的几种常见类型:ArrayIndexOutOfBoundsException(数组下标越界)、NullPointException(空指针)、ArithmeticException(算术异常)、MissingResourceException(丢失资源)、ClassNotFoundException(找不到类)等异常。
异常处理机制
1.通常异常是通过抛出异常和捕获异常进行处理
2.异常处理的五个关键字:try、catch、finally、throw、throws
3.catch后的括号里写想要捕获的异常类型,finally是处理善后工作
4.如果要捕获多个异常,捕获过程中需要从小到大进行捕获,否则程序编译不通过
5.主动抛出异常 throw和throws ,其中throw一般在方法中使用,假如在方法中处理不了这个异常,则在方法上直接使用throws抛出这个异常
自定义异常
自定义异常类的步骤:①创建自定义异常类;②在方法中通过throw关键字抛出异常对象;③如果在当前抛出异常的方法中处理异常,可以使用try catch捕获并处理,否则需要走方法的声明出使用throws关键字直接指明要抛出给调用者的异常,继续进行下一步操作;④在出现异常方法的调用者中捕获并处理异常
异常实际应用经验
1.处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理
2.在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常
3.对于不确定的代码,也可以加上 try-catch,处理潜在的异常
4.尽量去处理异常,切忌只是简单地调用printStackTrace()去打印输出
5.具体如何处理异常,要根据不同的业务需求和异常类型去决定
6.尽量添加finally语句块去释放占用的资源