运行时异常和编译时异常的处理机制是什么?
发布网友
发布时间:2024-09-27 17:46
我来回答
共1个回答
热心网友
时间:2024-11-25 07:32
处理机制分为编译时异常与运行时异常。
编译时异常在编译阶段产生,这类异常在编译成class文件时必须处理,称为受检异常。运行时异常则在运行阶段可能产生,这类异常在编译阶段无需处理。
运行时异常包括数组索引越界、空指针、数学操作错误、类型转换错误、数字转换错误等。通常由程序员的业务逻辑不足或编程逻辑不严谨引起。
编译时异常则反之,它们是Exception或其子类,编译阶段即会报错,需要处理才能通过编译。
异常处理的默认流程为:异常在出现点创建异常对象,随后抛给调用者直至JVM,JVM接收后在控制台输出异常信息,程序从异常点终止。
编译时异常处理通常包括三种方式:异常抛出给调用者,调用者处理;异常捕获处理,不麻烦别人;两者结合。推荐使用方法:底层抛出给最外层,最外层集中处理。实际应用中,只要代码能通过编译且功能完成,每种方式都是可行的。
运行时异常则无需在编译阶段处理,建议在最外层调用处集中捕获处理,以遵循规范。