浅析JAVA编程中异常处理的方法与技巧
2021-09-03
来源:步旅网
Program Design・程序设计 浅析JAVA编程中异常处理的方法与技巧 文/方芳 函数返回值不是常规值,那么就可以据此判断 发生了某种异常。比如C语言这种早期的编 程语言,没有异常处理机制,所以通常只能是 类似,是通过C++的异常处理演变而来。 3.2 Java与c++异常处理的区别 C++与Java的异常处理模型具有许多不 相同的地方,最大的不同体现在Java在异常 处理模型中引入了语法“try-finally”。“try— ifnally”语法主要是用于清理非内存性质的资 遇到错误之后就设定一个标志或者返回一个比 较特殊的值。这种处理异常的传统方式有很多 弊端,比如: (1)如果在每一次编程的过程中,调用 【关键词】Java异常面向对象 1引言 Java程序设计语言,是一种在计算机中 应用十分广泛的编程语言。Java语言提高了计 算机的运行效率,使我们的生活更加便捷。在 设计Java语言的时候,是有相应的异常处理 的框架方案的。但是在Java编程中仍然没有 统一的异常处理的技巧和方法。因此人们十分 关注Java编程中的异常处理问题。但是大多 数人却没有真正掌握正确处理异常情况的方法 和技巧。如何正确处理JAVA异常处理、提高 计算机的应用程序,是我们目前一个需要迫切 解决的问题。 2 JAVA编程中异常检查 2.1异常处理的概念 在C语言里,我们可以使用if语句来判 断是否出现了异常。而且调用函数通过被 用 函数的返回值感知在被调用函数中产生自饵常 事件并进行处理。 Java能够通过异常对象调用方法来处理 异常,而且是一种面向对象的程序设计语言。 Java程序在运行的时候,会自动产生异常处理 对象,而且对于不同的异常,所产生的异常对 象也是不一样的。JVM会根据不同的对象, 去执行不一样的异常处理代码。 所谓抛出(throw)一个异常,就是指 生成一个异常对象,并且把它提交给JVM。 JVM从生成异常的方法开始进行回溯,在方 法的调用栈中开始查找,直到找到包含相应异 常处理的方法为止。通常我们把这个过程称为 捕获一个异常(catch)。 2・2异常处理机制的发展过程 的过程中调用了某些其他函数、 篓 ,如果被调用的 方法时都进行细致、全面的异常检查的话,代 源(垃圾回收机制无法清理的资源),诸如 码的可读性就会下降。在创建比较复杂、大型 Socket关闭、文件流的关闭以及数据库的连接 或者易于维护的程序时,按照这种方式控制变 等等。 得非常困难。 (1)在Java语言中,所有的异常都要严 (2)程序员会对这种机制变得麻木。许 格对应一个异常处理模块。即如果程序throw 多程序员就会这样想:异常的情况绝对不会在 (捕获)一个异常,那么程序中就必须catch 我完成的代码中实现的,因为我的系统很好、 (处理)这个异常。但是有两个异常是特殊 计算机很稳定而且思维很清晰。可能是因为程 的,即RuntimeException和Error这两种异常 序员的思维完全集中在程序功能的实现上而忘 (以及它们的子类异常)。其中Error异常 记处理这种情况,也可能是程序员认为出现某 表示Java程序出现了非常严重的错误异常; 种异常的概率很小,又或者是因为程序刚好能 RuntimeExcepfion异常表示Java程序出现了运 够正常编译,那么程序一般情况下是不会出现 行时的异常。 问题的。但是这并不能保证程序员所设计的程 (2)Java比c++更为严格,C++中许多 序是健全的。这些程序发生错误的话,程序员 逻辑或者代码编译为warning,但是放在Java 往往并不能快速准确地定位和改正错误。在大 中就会被强制转换成error。 部分情况下,程序员会觉得程序发生异常不太 (3)与C++不同,Java程序中所有的 可能,就不会去检验。 异常都是从Throwable中继承而来的。因此, 2.3 Java异常处理机制的原理 Java程序中的catch(Throwablee)完全提到了 c++程序中的catch(…)。同时Java程序可以 Java中的“异常处理机制”就是通过两 抛出任意类型的异常。如果一个函数在运行时 个完全不相同的出口来分离方法本身的职能以 向上层函数抛出异常,那么它必须在该函数的 及处理异常事件的职能。若要处理异常的问题, 声明中注明。 作为程序员应用非常灵活而且容易的方式是完 全可以的。通过面向对象的方法进行异常处理, 4总结 把各种不同的异常情况进行分类,并提供了良 好的接口。这样的机制能够为不简单的程序供 Java编程语言是一种计算机高级编程语 应十分强大的控制方式。一般情况下,其它的 言,有着独到的竞争优势。本论文简要介绍了 Java异常处理的概念、异常处理机制的发展过 高级语言是令函数的使用者去注意这个函数会 出现的各种异常的情况,但Java则是把大概 程、原理以及Java与cH异常处理的区别与 联系。 会产生的异常情况交给方法(和函数对应的概 念,在Java中称为方法1的设计者进行。 Java中有很多的“异常类”,它相对于 参考文献 本身具体服务的方法是独立的,把这些方法统 [1]王立鹏浅析JAVA编程中异常处理的方法 组织起来便形成了一个“类树”。比方说, 与技巧[J].信息技术,2O1 2(2 3):320. 一“异常处理机制’就好比是学校后勤的社会化, [2】蓝雯飞基于Java的异常处理技术[J].计 它将学校教学的职能以及学校后勤的保障功能 算机系统应用,2006(07):67—7 0. 分离开,另外后勤集团的组织形式又独立于学 【3]高德龙.Java程序设计中异常处理技术浅 析[J].电脑知识与技术,2009(11). 校这个主体。以此为证,我们可以知道,如此 组织方式既使服务的质量有了提高,而且服务 [4】顾庆传,孔浩,谢树云.Java异常处理的 的效率也迅速上升。 分析与研究…科技信息,2010(18). 3 Java与c++异常处理的对比 作者单位 天津国土资源和房屋职业学院 天津市 31 Java--/ ̄C++异常处理的联系 300270 .J……w 的异常处理与c……一…++的异常处理十分 … …… Electronic Technology&Software Engineering电子技术与软件工程・271