标签:
对于传统的面向过程语言比如说C语言,通常使用基于返回值的错误处理机制,即通过在程序中定义程序出错时的返回值,比如说0代表操作成功,而1代表操作失败。
这种错误处理机制的好处在于有时候即使出现了异常程序或许也可以继续执行(但是最终执行结果或许不对,而这就导致查错比较困难,因为有时候仅仅通过函数返回值我们并不知道程序出错的原因究竟是什么,比如说程序操作失败返回值为0,我们在控制台上看到程序输出为0,但是除此之外没有其他额外的信息帮助我们确定程序出错的真正原因);
此外,当程序规模很大时通过检查程序返回值来检查错误也比较繁杂且乏味,令人望而生畏。
对于java等面向对象的语言而言,一般使用异常捕获处理来处理程序错误,这种错误处理机制往往是通过使用系统预定义的异常类或者自定义异常类来在程序出错的时候抛出异常。
通常这些异常的命名都具有明显的语义以表示产生异常的原因,比如说:FileNotFoundException,很明显出现此异常的原因是文件未找到;
同时,对于抛出编译期异常的方法而言,其强制方法调用者显式捕捉异常,通过这种强制性要求可以使得程序开发人员对于程序运行期间可能会出现的异常有一个比较明确清晰的认识,这样,当异常出现的时候程序开发人员就可以很快知道是哪里出了问题并快速解决问题;
此外,异常处理机制为程序运行期间出现的错误提供了统一的处理机制,这使得程序排错更为简便,程序也更为健壮。
标签:
原文地址:http://www.cnblogs.com/simple-stupid/p/5437093.html