04.17 如何理解Java中的异常机制

Java中的异常机制如何理解?代码的世界和现实世界一样,不会一帆风顺,或者说不会像我们想象中的那么顺利。写代码的是人,人的思维存在局限性,这种局限性,体现在代码中,就是漏洞。如果一段程序在生产环境中崩溃,势必让人十分恼火。这种令人挠头的情况就是异常的一种。

关于Java的异常机制有这样的定义:异常指的是,那些在程序运行过程中,中断正常的指令流程的事件。实际上,异常还会在以下场景中发生:

用户输入错误,如:输入不符合程序预期;

设备错误,如:网线断开连接;

物理限制,如:内存不足;

而我们并不希望程序因为上述情况挂掉,而是希望程序能够在遇到异常时,巧妙地处理之后,继续运行下去。

所幸,Java 提供了一套机制,用于在程序程序出错(出现异常)时,进行:

如何理解Java中的异常机制

报告错误、保存工作结果;

让用户以更完善的方式退出程序;

亦即:异常处理机制。顾名思义,该机制用于对程序运行中不正常的情况进行处理。

简单来说,Java 中的异常处理是:当异常发生时,运行时系统逆着方法的调用栈(call stack)去寻找能够处理这种异常的东西。

以一个把字符串转换成整数的方法为例:

如何理解Java中的异常机制

在上述代码中,当 strToFormat 不能转化成一个整形数时,就转化成一个默认的值。NumberFormatException 发生时,方法立即终止。尚学堂•百战程序员陈老师指出控制权被交由 catch 代码块,也就是异常处理器(exception hanlder)。代码虽然简单,却包含了 Java 异常处理的一般步骤。


分享到:


相關文章: