Java进阶02 异常处理
程序很难做到完美,不免有各种各样的异常。比 如程序本身有bug,比如程序打印时打印机没有纸了,比如内存不足。为了解决这些异常,我们需要知道异常发生的原因。对于一些常见的异常,我们还可以提供 一定的应对预案。C语言中的异常处理是简单的通过函数返回值来实现的,但返回值代表的含义往往是由惯例决定的。程序员需要查询大量的资料,才可能找到一个 模糊的原因。面向对象语言,比如C++, Java, Python往往有更加复杂的异常处理机制。这里讨论Java中的异常处理机制。 Java异常处理 异常处理 Java的异常处理机制很大一部分来自C++。它允许程序员跳过暂时无法处理的问题,以继续后续的开发,或者让程序根据异常做出更加聪明的处理。 Java使用一些特殊的对象来代表 异常状况,这样对象称为异常对象。当异常状况发生时,Java会根据预先的设定, 抛出(throw)代表当前状况的对象。所谓的抛出是一种特殊的返回方式。该线程会暂停,逐层退出方法调用,直到遇到 异常处理器(Exception Handler)。异常处理器可以 捕捉(catch)的异常对象,并根据对象来决定下一步的行动,比如: 提醒用户 处理异常 继续程序 退出程序 ...... 异常处理器看起来如下,它由try, catch, finally以及随后的程序块组成。finally不是必须的。 try { ...; } catch()