朱倩
摘要:传统的程序设计语言往往通过预判是否出现异常,但是这种错误处理机制会导致不少问题。为了加强程序的健壮性、流畅性、稳定性,就需要考虑有可能发生的异常,并进行相应的处理。该文作者结合教学实例,重点介绍Java程序设计语言如何处理异常。
关键词:异常;处理机制;异常类
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)08-0100-02
1 概述
在应用程序运行的过程中,经常会出现这样一些现象:用户不按照要求输入、需要进行处理的文件丢失、分母为零、数组下标超出预定范围、网络中断等,我们把这种现象称为异常。由于异常情况总是难免的,所以一个好的应用程序不仅要满足用户的基本需求,还要具备处理有可能出现的异常情况的能力,即程序必须具备较强的容错能力,把这种对异常进行处理的机制称为异常处理。对异常处理有两种常见方法:计算机系统遇到错误,给出出错信息并结束正在运行的程序;由程序员在程序中加入异常处理的功能。早期的程序设计语言没有提供专门进行异常处理的功能,程序员在编写程序的过程中,进行处理异常的代码往往和正常的代码混杂在一起,导致程序的可维护性和可读性下降。Java语言采取了异常处理机制,其方式为“抛出-捕获”,一个异常一旦产生,Java语言采取相应的机制来处理它,避免出现死循环、死机以及其他更大的危害,尽可能预防错误代码带来的不可预期的后果,整个程序的安全性得到了极大的提高。
2 Java语言中的异常概述
Java语言提供了功能强大的异常处理机制,将所有处理异常的代码集中放置,以保证正常功能代码和处理异常的代码分开。在Java程序设计语言中,采用了大量的异常类来进行处理,这些异常类可分为两大类:Java.lang.Exception和java.lang.Error。Exception类解决由程序本身及环境所产生的异常。而Error类则处理较少发生的内部系统错误。Exception类异常可以捕获并进行相应处理,而Error类异常,则是由用户按照系统提示关闭程序。常见的异常类如下表所示:
在以上常见的Java异常类中,每个异常类反映一类异常错误,其中包含了异常错误信息和处理方法。当程序运行过程中,出现一种异常现象,产生一个相应的异常类对象,再由相应的异常类进行处理,从而避免对系统产生更大的危害,以保证程序的正常运行。
3 常见的异常处理方法
常见的异常处理方法有两种:一种处理异常是在产生异常的方法中,使用try…catch…finally结构;还有一种是进行异常的移交,使用关键字throws和throw交给上层方法去处理异常。
在该案例中,对三种异常进行了捕获,分别是数组下标越界、输入数据格式不正确和Exception异常,当触发某种异常,则对相应的异常异常进行处理。Exception异常类是所有异常的基类,当出现catch块没有进行捕获的异常,则采用Exception异常类进行异常处理。
3.2 异常的移交
实例分析:初始化参数x使用了-2,将触发NegativeArraySizeException异常,但在Sum方法中不对该异常进行处理,而是在main方法中对该异常进行处理,所以在声明方法时,使用throws NegativeArraySizeException选项,抛出了该异常。使用main 方法对该方法进行捕获。可见,如果一个方法没有对可能出现的异常进行捕获,调用该方法的其他方法应该对其可能出现的异常进行捕获。
4 结束语
在进行程序设计过程中,异常是不可避免的。这些异常,即使程序本身没有问题,也有可能产生,所以在开发时必须考虑处理。Java语言规定,在调用可能抛出捕获异常的方法时,必须编写处理异常的代码,这不仅提高了程序的健壮性,而且避免程序开发人员忘记编写必要的容错代码。本文指出了异常处理的两种机制,除此之外还可以使用自定义异常进行处理,基于篇幅的原因就不在此讨论了。
参考文献:
[1] 李芝兴. Java程序设计之网络编程[M]. 北京: 清华大学出版社, 2006:194-200.
[2] 张聪品, 赵琛, 糜宏斌. 异常处理机制研究[J]. 计算机应用研究, 2005(4):86-89.
[3] 肖连, 崔杜武.Java中可检查异常的使用策略[J]. 计算机系统应用, 2007(5).