10.1.1 错误与异常

10.1.1 错误与异常

在程序运行时经常会出现一些非正常的现象,如死循环、非正常退出等,称为运行错误。根据错误性质将运行错误分为两类:错误和异常。

致命性的错误:如程序进入了死循环,或递归无法结束,或内存溢出,这类现象称为错误。错误只能在编程阶段解决,运行时程序本身无法解决,只能依靠其他程序干预,否则会一直处于非正常状态。

非致命性的错误:如运算时除数为0,或操作数超出数据范围,或打开一个文件时发现文件并不存在,或欲装入的类文件丢失,或网络连接中断等,这类现象称为异常。在源程序中加入异常处理代码,当程序运行中出现异常时,由异常处理代码调整程序运行方向,使程序仍可继续运行直至正常结束。

由于异常是可以检测和处理的,所以产生了相应的异常处理机制,目前大多数面向对象语言都提供了异常处理机制,而错误处理一般由系统承担,语言本身不提供错误处理机制。