文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发Java对于JAVA基础测试中常见的异常问题汇总
精品推荐
特别推荐
·实例讲解:Java中的SOAP技术
·Java语言出现的背景 影响及前景
·Java精华积累:初学者都应该搞懂的问题
·Java多媒体框架设计自动播放机实例详解
·如何有效防止Java程序源码被人偷窥?
·Cell插件在J2EE系统中的应用
·初学者想学Hibernate,初级基础教程
·Java语言实现支持视频点播的WEB服务器
·关于Java编程的中文问题的几条分析原则
·确保J2ME无线移动商业应用程序的安全性
热点TOP10
·SCJP认证套题解析(1)
·好东西介绍,直接用 java 命令行动态生成jpg文件
·JavaClassLoader与Package机制
·反射在Java Swing编程中的应用
·基于Java的界面布局DSL的设计与实现
·垃圾清理势在必行——Java垃圾收集算法
·Java应用技巧:对于 Cookie 的操作详解
·Java编译器对于String常量表达式的优化
·基于Java的界面布局 DSL 的设计与实现
·JAVA和.NET两个平台对于安全功能的比较

对于JAVA基础测试中常见的异常问题汇总

日期:2007年10月18日 作者: 查看:[大字体 中字体 小字体]


        boolean ret = true;
        try
    {
            ret = testEx1();
        }
        catch (Exception e)
       {
            System.out.println("testEx, catch exception");
            ret = false;
            throw e;
        }
       finally
      {
            System.out.println("testEx, finally; return value="+ret);
            return ret;
        }
    }

4、JAVA错误: java.lang.Error

原因:

1)对系统所访问外部资源,未执行关闭操作,导致外部资源大量浪费,最终可能导致系统无法正常运行;

2)对系统所访问的外部资源关闭次数太多,外部系统无法正常处理;

3)系统访问的外部资源出现异常情况。

解决方案:

1)访问外部资源前,首先检查该资源(如数据库)是否可正常连接或操作。

2)访问外部资源时,如果进行了连接,一定进行关闭操作,并仅进行一次关闭操作。

3)尽量在同一操作中共享外部资源,以减少该操作对资源的消费,提高程序的执行效率

5、空指针错误 :java.lang.NullPointerException

使用基本的JAVA数据类型,变量的值要么已经是默认值,如果没有对其正常赋值,程序便不能通过编译,因此使用基本的JAVA数据类型(double,float,boolean,char,int,long)一般不会引起空指针异常。由此可见,空指针异常主要跟与对象的操作相关。


下面先列出了可能发生空指针异常的几种情况及相应解决方案:


不管对象是否为空就直接开始使用。

(JSP)代码段1:

out.println(request.getParameter("username"));

描述:

代码段1的功能十分简单,就是输出用户输入的表域"username"的值。

说明:

看上去,上面的语句找不出什么语法错误,而且在大多数情况下也遇不到什么问题。但是,如果某个用户在输入数据时并没有提供表单域"username"的值,或通过某种途径绕过表单直接输入时,此时request.getParameter("username")的值为空(不是空字符串,是空对象null。),out对象的println方法是无法直接对空对象操作,因此代码段1所在的JSP页面将会抛出"java.lang.NullPointerException"异常。

即使对象可能为空时,也调用java.lang.Object或Object对象本身的一些方法如toString(), equals(Object obj)等操作。

(JSP)代码段2:

String userName = request.getParameter("username");
If (userName.equals("root"))
{....}

描述:

代码段2的功能是检测用户提供的用户名,如果是用户名称为"root"的用户时,就执行一些特别的操作。

说明:

在代码段2中,如果有用户没有提供表单域"username"的值时,字符串对象userName为null值,不能够将一个null的对象与另一个对象直接比较,同样,代码段2所在的JSP页面就会抛出(java.lang.NullPointerException)空指针错误。

(JSP)代码段3:

String userName = session.getAttribute("session.username").toString();

描述:

代码段3的功能是将session中session.username的值取出,并将该值赋给字符串对象 userName。

说明:

在一般情况下,如果在用户已经进行某个会话,则不会出现什么问题;但是,如果此时应用服务器重新启动,而用户还没有重新登录,(也可能是用户关闭浏览器,但是仍打开原来的页面。)那么,此时该session的值就会失效,同时导致session中的session.username的值为空。对一个为null的对象的直接执行toString()操作,就会导致系统抛出(java.lang.NullPointerException)空指针异常。

解决方案:

为了确保进行操作或引用的对象非空,假若我们要对某对象进行操作或引用,我们首先去检查该对象是否已经实例化且不为空;并且在系统中加入针对对象为空时情况的处理。

如:采用String对象保存用户提交的结果;在如果涉及对象的操作时,先检测其是否为空后,检查到对象为空后,可再选择进行以下任一种处理方式:

处理方式 1) 检查到对象为空时,设置对象值为空字符串或一个默认值;

处理方式 2) 检测到对象为空时,根本不执行某操作,直接跳转到其他处理中。

处理方式 3) 检查到对象为空时,提示用户操作有错误。

将代码段2按以上方式进行改写,得到:

方式1:

String userName = request.getParameter("username");

上一页 [1] [2] [3] [4] 下一页 




上一篇:Live Messenger引起CPU占用率100%的解决

下一篇:解析 SQL Server 2008 的精妙之处

相关文章:
·解决与HTTP 500 – 内部服务器错误错误信息有关的问题
·Flash AS基础精典教程
·基础知识 初级黑客安全技术命令详解
·Firefox 使用常见问题和解决方法
·常用的网络测试命令
·关于SEX的9个关键问题
·网络赚钱常见误区
·java做的比较完善的FTP连接上传下载文件
·“性问题”女人大招供
·SQL server 2005安装问题汇总
相关软件:
·网络常见问题与故障1000例
·SQL Server 2000 基础系列课程视频
·有关毛泽东的一些问题解答(不完整版)
·鸟哥的linux私房菜:基础学习篇
·每天问自己十个问题
·中东问题的历史根源
·计算机基础知识教程
·发烧天碟PHILIPS- 耳机测试CD
·中國古典書鈔之諸子集鈔(0510测试版79种)
·PS 三国志孔明传 附中文测试补丁

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot