dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>java>java基础>文章内容
对于JAVA基础测试中常见的异常问题汇总
来源:赛迪网 作者:赛迪网

· finally语句 

try所限定的代码中,当抛弃一个例外时,其后的代码不会被执行。通过finally语句可以指定一块代码。无论try所指定的程序块中抛弃或不抛弃例外,也无论catch语句的例外类型是否与所抛弃的例外的类型一致,finally所指定的代码都要被执行,它提供了统一的出口。通常在finally语句中可以进行资源的清除工作。如关闭打开的文件等。不管异常是否发生都会执行finally中的语句。

 

·throws语句 

throws总是出现在一个函数头中,用来标明该成员函数可能抛出的各种异常。对大多数Exception子类来说,Java 编译器会强迫你声明在一个成员函数中抛出的异常的类型。如果异常的类型是Error或 RuntimeException, 或它们的子类,这个规则不起作用, 因为这在程序的正常部分中是不期待出现的。 如果你想明确地抛出一个RuntimeException,你必须用throws语句来声明它的类型。

 

· throw语句 

throw总是出现在函数体中,用来抛出一个异常。程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中(可能在上层调用函数中)从里向外寻找含有与其匹配的catch子句的try块。所有的方法都使用“throw”语句来抛出一个异常。Throw语句需要一个单独throwable对象,这个对象是任意Throwable类的子类。

 

例如:

 

boolean testEx() throws Exception{

        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"的值。

 


共5页: 上一页 [1] [2] 3 [4] [5] 下一页
上一篇:C++中的内存管理(new、delete、内存泄漏)   下一篇:Python企业应用的优缺点
[收藏] [推荐] [评论(1条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·JUnit单元测试(2)
·JUnit单元测试(1)
·浅谈在Java语言中究竟是传值还是
·Java 5.0 多线程编程实践
·Java的文件 读和写
·JAVA程序员面试33问,你能回答多
·Java Reflection (JAVA反射)详解
·JAVA中配置环境变量设置方法大全
·讲述java语言中内部类的研究
·详细解析Java中抽象类和接口的区
·Java开发中的事件驱动模型实例详
·Java SE 6 新特性: HTTP 增强
  相关文章
·Java的文件 读和写
·Java 5.0 多线程编程实践
·浅谈在Java语言中究竟是传值还是
·JAVA程序员面试33问,你能回答多
·JUnit单元测试(2)
·JUnit单元测试(1)
·Java Reflection (JAVA反射)详解
·JAVA中配置环境变量设置方法大全
·讲述java语言中内部类的研究
·详细解析Java中抽象类和接口的区
·Java开发中的事件驱动模型实例详
·Java SE 6 新特性: HTTP 增强
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763