Java 中的异常处理机制的简单原理和应用【面试题详解】

今天爱分享给大家带来Java 中的异常处理机制的简单原理和应用【面试题详解】,希望能够帮助到大家。
【参考答案】
异常是指 java 程序运行时(非编译)所发生的非正常情况或错误,与现实生活中的事
件很相似,现实生活中的事件可以包含事件发生的时间、地点、人物、情节等信息,可以用
一个对象来表示,Java 使用面向对象的方式来处理异常,它把程序中发生的每个异常也都
分别封装到一个对象来表示的,该对象中包含有异常的信息。
Java 对异常进行了分类,不同类型的异常分别用不同的 Java 类表示,所有异常的根类
为 java.lang.Throwable,Throwable 下面又派生了两个子类:Error 和 Exception,Error 表
示应用程序本身无法克服和恢复的一种严重问题,程序只有死的份了,例如,说内存溢出和
线程死锁等系统问题。Exception 表示程序还能够克服和恢复的问题,其中又分为系统异常
和普通异常,系统异常是软件本身缺陷所导致的问题,也就是软件开发人员考虑不周所导致
的问题,软件使用者无法克服和恢复这种问题,但在这种问题下还可以让软件系统继续运行
或者让软件死掉,例如,数组脚本越界(ArrayIndexOutOfBoundsException),空指针异常
(NullPointerException)、类转换异常(ClassCastException);普通异常是运行环境的变
化或异常所导致的问题,是用户能够克服的问题,例如,网络断线,硬盘空间不够,发生这
样的异常后,程序不应该死掉。
java 为系统异常和普通异常提供了不同的解决方案,编译器强制普通异常必须 try..catch
处理或用 throws 声明继续抛给上层调用方法处理,所以普通异常也称为 checked 异常,而
系统异常可以处理也可以不处理,所以,编译器不强制用 try..catch 处理或用 throws 声明,
所以系统异常也称为 unchecked 异常。

人已赞赏
Java

try {}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会不会被执行,什么时候被执行,在 return 前还是后?【面试题详解】

2020-12-1 17:04:58

Java

多线程有几种实现方法?同步有几种实现方法?【面试题详解】

2020-12-2 14:31:29

'); })();