简述Java中的异常处理机制

1.首先我们应该知道什么是异常,异常是指Java程序运行时(非编译)所发生的非正常情况或错误。java对异常进行了分类,不同类型的异常使用了不同的java类,所有异常的根类为java.lang.Throwable.Throwable派生了2个子类:Error和Exception.

2.Error表示程序本身无法克服和恢复的一种严重错误,程序只有死的份,如内存溢出和死锁问题等系统问题。

3.Exception表示还能克服和恢复,其中又分为系统异常和普通异常。系统异常是软件本身缺陷导致的问题,也就是软件开发问题考虑不周所导致的问题,软件使用者无法克服和恢复这种问题,但这种情况下可以选择让软件继续运行或死掉。如数组越界(ArrayIndexOutOfBoundsException),空指针异常(NullPointerException),类转换异常(ClassCastException);

4.普通异常是运行环境的变化或异常导致的问题,是用户能够克服的问题,如网路掉线、硬盘空间不足、IO异常发生这种异常后程序不应该死掉。

5.java为系统异常和普通异常提供了不同的解决方案,编译器强制普通异常必须try…catch处理或throws声明继续抛给上层调用方法处理。所以普通异常为checked异常,而系统异常可以处理也可以不处理。编译器不强制用try…catch或throws声明,所以系统异常成为uncheckde异常。)

你可能感兴趣的:(后端,异常)